HorizontalScrollView 横向滑动菜单

activitv_main-------------------------------------------------------------------------------

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="maxinawei.bw.com.day9demo1.MainActivity">

    <HorizontalScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/hor">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:id="@+id/line">

        </LinearLayout>
    </HorizontalScrollView>

    <android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/pager"
        android:layout_below="@+id/hor"
        >

    </android.support.v4.view.ViewPager>




</RelativeLayout>

mainActivity____________________________________________________________________________

public class MainActivity extends AppCompatActivity {

    private List<String>  Menus = new ArrayList<>();
    private HorizontalScrollView hor;
    private List<TextView> listmeuns;
    private LinearLayout line;
    private ViewPager pager;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        line = findViewById(R.id.line);
        hor = findViewById(R.id.hor);
        pager=findViewById(R.id.pager);
        //初始化
        initMenus();
        //添加
        addMenus();
        MyAdapter adapter=new MyAdapter(getSupportFragmentManager());
        pager.setAdapter(adapter);

    }


    class   MyAdapter extends FragmentPagerAdapter{


        public MyAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {
          Fragement1 fragement1=new Fragement1();

            return fragement1;
        }

        @Override
        public int getCount() {
            return Menus.size();
        }
    }




    private void addMenus() {

        for (int i = 0; i < Menus.size(); i++) {

            TextView textView= new TextView(this);
            textView.setText(Menus.get(i));
            if (i==0){
            textView.setTextColor(Color.RED);
            }else{

                textView.setTextColor(Color.BLACK);
            }
            textView.setTag(i);
        textView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                setSelectMenu(Integer.parseInt(view.getTag()+""));
            }
        });
            LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
            params.setMargins(5,5,10,10);
            line.addView(textView,params);
            listmeuns.add(textView);


        }
    }
    private void initMenus() {

        listmeuns=new ArrayList<TextView>();

        Menus.add("新闻");
        Menus.add("娱乐");
        Menus.add("社会");
        Menus.add("体育");
        Menus.add("健康");
        Menus.add("财经");
        Menus.add("汽车");
        Menus.add("科技");
        Menus.add("军事");
        Menus.add("小说");
        Menus.add("绯闻");
        Menus.add("汽车1");
        Menus.add("科技1");
        Menus.add("军事1");
        Menus.add("小说1");
        Menus.add("绯闻1");
    }

    public void setSelectMenu(int tvIndex) {

        for (int i = 0; i <listmeuns.size() ; i++) {
            if (i==tvIndex){
                listmeuns.get(i).setTextColor(Color.RED);
            }else {
                listmeuns.get(i).setTextColor(Color.BLACK);
            }






            }

        }
        
    }

猜你喜欢

转载自blog.csdn.net/kingv587/article/details/80078075