700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Android 微信界面简单的侧滑效果+listview+DrawerLayout+fragment+viewpager

Android 微信界面简单的侧滑效果+listview+DrawerLayout+fragment+viewpager

时间:2020-06-01 21:36:33

相关推荐

Android 微信界面简单的侧滑效果+listview+DrawerLayout+fragment+viewpager

先写一个android.support.v4.widget.DrawerLayout的控件。里面包裹的第一个LinearLayout是主界面的里面是一个viewpager的控件用来实现QQfragment界面,第二个LinearLayout里面就是侧滑页面,里面写了一个简单的listview,基本上简单的布局就实现了。

<android.support.v4.widget.DrawerLayout

android:id="@+id/draw"

android:layout_width=“match_parent”

android:layout_height=“match_parent”>

<android.support.v4.view.ViewPagerandroid:id="@+id/pager"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"></android.support.v4.view.ViewPager><RadioGroupandroid:id="@+id/radioGroup"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><RadioButtonandroid:id="@+id/radio0"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="消息"android:button="@null"android:drawableTop="@drawable/sele"android:gravity="center"android:layout_weight="1"/><RadioButtonandroid:id="@+id/radio1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="我的"android:button="@null"android:drawableTop="@drawable/sele"android:gravity="center"android:layout_weight="1"/></RadioGroup></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_gravity="left"android:background="#f00"android:orientation="horizontal"><ListViewandroid:id="@+id/listview"android:layout_width="wrap_content"android:layout_height="wrap_content"></ListView></LinearLayout></android.support.v4.widget.DrawerLayout>

紧接着在activity里面写

public class MainActivity extends FragmentActivity {

private ListView listView;private ViewPager pager;private RadioGroup radioGroup;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);DrawerLayout drawerLayout = findViewById(R.id.draw);drawerLayout.openDrawer(Gravity.LEFT);drawerLayout.closeDrawer(Gravity.LEFT);drawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() {@Overridepublic void onDrawerSlide(@NonNull View view, float v) {}@Overridepublic void onDrawerOpened(@NonNull View view) {}@Overridepublic void onDrawerClosed(@NonNull View view) {}@Overridepublic void onDrawerStateChanged(int i) {}});ListView listView = findViewById(R.id.listview);// MyAdapter myAdapter = new MyAdapter();ArrayList<String> list = new ArrayList<>();for (int i=0;i<=6;i++){list.add("设置"+i);}listView.setAdapter(new MyAdapter(list,this));

到这里就是侧滑+listview的效果,外部类不展示了

pager = findViewById(R.id.pager);radioGroup = findViewById(R.id.radioGroup);radioGroup.check(radioGroup.getChildAt(0).getId());final ArrayList<Fragment> list1 = new ArrayList<>();list1.add(new Fragone());list1.add(new Fragtwo());pager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {@Overridepublic Fragment getItem(int i) {return list1.get(i);}@Overridepublic int getCount() {return list1.size();}});radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(RadioGroup radioGroup, int i) {switch (i){case R.id.radio0:pager.setCurrentItem(0);break;case R.id.radio1:pager.setCurrentItem(1);break;}}});}

}

到这里以上就是简单的两个fragment的点击切换效果,下面贴两张简陋的效果图:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。