Android实现导航栏的左右滑动效果

简介:


<RelativeLayout android:id="@id/titleBar" android:layout_width="fill_parent" android:layout_height="40.0dip"/>
 

        //titlebar 内容
 
        public NewsVideo()
 
          {
 
            String[] arrayOfString1 = new String[7];
 
            arrayOfString1[0] = "推荐";
 
            arrayOfString1[1] = "电视剧";
 
            arrayOfString1[2] = "电影";
 
            arrayOfString1[3] = "纪录片";
 
            arrayOfString1[4] = "动画片";
 
            arrayOfString1[5] = "综艺";
 
            arrayOfString1[6] = "新闻";
 
            this.strLblTile = arrayOfString1;
 
            this.currentTitlePosition = 0;
 
            this.oldTitlePosition = currentTitlePosition;
 
          }
 
//动态加载titleBar
 
        LayoutInflater inflater= LayoutInflater.from(this);;
 
        View view = inflater.inflate(R.layout.titlebar, null);
 
        RelativeLayout localRelativeLayout2 = (RelativeLayout)this.findViewById(R.id.titleBar);
 
        localRelativeLayout2.addView(view);
 
//初始化titleBar
 
        NewsVideo nv= new NewsVideo();
 
        linearLayTitle=(LinearLayout) this.findViewById(R.id.linearLayTitle);
 
        initTitleBar();
 
//
 
private void initTitleBar()
 
   {
 
     TextView[] arrayOfTextView1 = new TextView[this.strLblTile.length];
 
     this.lblArr = arrayOfTextView1;
 
     Resources localResources = getResources();
 
     for (int i = 0; ; ++i)
 
     {
 
       int j = this.lblArr.length;
 
       if (i >= j)
 
       {
 
         TextView[] arrayOfTextView2 = this.lblArr;
 
         int k = this.currentTitlePosition;
 
         arrayOfTextView2[k].setTextColor(-1);
 
         TextView[] arrayOfTextView3 = this.lblArr;
 
         int l = this.currentTitlePosition;
 
         arrayOfTextView3[l].setBackgroundResource(R.drawable.nav_light);
 
         return;
 
       }
 
       
       TextView[] arrayOfTextView4 = this.lblArr;
 
       TextView localTextView1 = new TextView(this);
 
       arrayOfTextView4[i] = localTextView1;
 
       TextView localTextView2 = this.lblArr[i];
 
       int i1 = Mconst.screenwidth * 67 / 320;
 
       ///System.out.println("i1  "+i1);
 
       localTextView2.setWidth(i1);
 
       TextView localTextView3 = this.lblArr[i];
 
       int i2 = Mconst.screenheight * 40 / 480;
 
       localTextView3.setHeight(i2);
 
       //System.out.println("i2  "+i2);
 
       this.lblArr[i].setTextSize(14);
 
       this.lblArr[i].setGravity(17);
 
       TextView localTextView4 = this.lblArr[i];
 
       String str = this.strLblTile[i];
 
       localTextView4.setText(str);
 
       TextView localTextView5 = this.lblArr[i];
 
       int i3 = localResources.getColor(R.color.white);
 
       localTextView5.setTextColor(i3);
 
       LinearLayout localLinearLayout = this.linearLayTitle;
 
       TextView localTextView6 = this.lblArr[i];
 
       //System.out.println("第"+i+"个"+lblArr[i].getText());
 
       localLinearLayout.addView(localTextView6);
 
       int i4 = i;
 
       TextView localTextView7 = this.lblArr[i4];
 
       localTextView7.setOnClickListener(new TitleBarListener(this,i4));
 
     }
 
   }
 
    
   class TitleBarListener implements View.OnClickListener{
 
           
 
           int i;
 
           Context con;
 

        public TitleBarListener(NewsVideo newsVideo, int i4) {
 
                // TODO Auto-generated constructor stub
 
                con=newsVideo;
 
                this.i=i4;
 
        }
 

        @Override
 
        public void onClick(View v) {
 
                // TODO Auto-generated method stub
 
                currentTitlePosition=i;
 
                if(currentTitlePosition!=oldTitlePosition){
 
                        lblArr[oldTitlePosition].setBackgroundDrawable(null);
 
                        oldTitlePosition=currentTitlePosition;
 
                        lblArr[currentTitlePosition].setBackgroundResource(R.drawable.nav_light);
 
                }
 
                switch(currentTitlePosition){
 
                case 0:
 
                case 1:
 
                case 2:
 
                case 3:
 
                case 4:
 
                case 5:
 
                case 6:
 
                        Toast.makeText(con, "您正在浏览 "+lblArr[currentTitlePosition].getText()+" 页面", Toast.LENGTH_SHORT).show();
 
                        break;
 
                default:
 
                        break;
 
                }
 
         }
 
   } 


相关文章
|
Android开发
flutter中实现仿Android端的onResume和onPause方法
flutter中实现仿Android端的onResume和onPause方法
|
4月前
|
XML Java Android开发
Android Studio App开发中工具栏Toolbar、溢出菜单OverflowMenu、标签布局TabLayout的讲解及实战(实现京东App的标签导航栏,附源码)
Android Studio App开发中工具栏Toolbar、溢出菜单OverflowMenu、标签布局TabLayout的讲解及实战(实现京东App的标签导航栏,附源码)
61 0
|
10月前
|
Android开发
Android的Dialog弹出时隐藏导航栏效果,目前认为的最优解
Android的Dialog弹出时隐藏导航栏效果,目前认为的最优解
|
10月前
|
Java 测试技术 API
Android透明状态栏和导航栏方案最终版
Android透明状态栏和导航栏方案最终版
549 0
|
Android开发
Android10.0 导航栏和状态栏动态控制合集
Android10.0 导航栏和状态栏动态控制合集
129 0
|
Java Shell API
Android源码(6.0和8.1) 屏蔽状态栏下拉和屏蔽导航栏显示
Android源码(6.0和8.1) 屏蔽状态栏下拉和屏蔽导航栏显示
409 0
|
XML Java Android开发
Android6.0 源码修改之屏蔽导航栏虚拟按键(Home和RecentAPP)/动态显示和隐藏NavigationBar
Android6.0 源码修改之屏蔽导航栏虚拟按键(Home和RecentAPP)/动态显示和隐藏NavigationBar
163 0
|
Android开发
Android 11 SystemUI(状态/导航栏)-状态栏下拉时图标的隐藏与通知面板的半透黑色背景
Android 11 SystemUI(状态/导航栏)-状态栏下拉时图标的隐藏与通知面板的半透黑色背景
643 0
Android 11 SystemUI(状态/导航栏)-状态栏下拉时图标的隐藏与通知面板的半透黑色背景
|
Java 开发工具 Android开发
Android 11 SystemUI(状态/导航栏)-图标按键的深浅色
Android 11 SystemUI(状态/导航栏)-图标按键的深浅色
388 0
Android 11 SystemUI(状态/导航栏)-图标按键的深浅色
|
Java Android开发
Android 7.0 SystemUI 状态/导航栏的隐藏与显示
Android 7.0 SystemUI 状态/导航栏的隐藏与显示
389 0
Android 7.0 SystemUI 状态/导航栏的隐藏与显示