扫码关注官方订阅号
设计了这样一个选项卡界面
这个布局中有一个线性布局,我该怎么样实现单击不同的选项卡改变这个线性布局中的内容呢? 在Main.java中怎么初始化这个视图呢? 谢谢!
欢迎选择我的课程,让我们一起见证您的进步~~
有好多的方式,由简开始: 1. linearlayout是一个容器,那么你可以用LayoutInflater 去获取一个子的view,然后加入这个layout里面,然后点击别的button,就remove掉之前的view,然后再inflate一个新的子view,加入这个layout里面 Demo
LinearLayout container; button1.setOnClickListener(new View.OnClickListener() { void onClick(View v) { container.removeAllViews(); container.addView(inflater.inflate(R.layout.tab1, null)); } }); button2.setOnClickListener(new View.OnClickListener() { void onClick(View v) { container.removeAllViews(); container.addView(inflater.inflate(R.layout.tab2, null)); } });
代码比较丑,思路就是这样的
2. 使用viewPager,viewSwitch,等多个容器的组件去装子viewViewPager文档ViewPager例子ViewSwitcher文档ViewSwitch例子
3. 使用fragment去管理这个容器Fragment文档Fragment例子
难易度上,3>2>1 看自己需求了。
虽然我没有搞过android开发,但我觉得用户切换的时候应该会触发RadioGroup的一个类似actived事件
最简单直接的办法当然是切换不同的activity啦,和web 前段的tab菜单切换其实思路是有点类似的......
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
有好多的方式,由简开始:
1. linearlayout是一个容器,那么你可以用LayoutInflater 去获取一个子的view,然后加入这个layout里面,然后点击别的button,就remove掉之前的view,然后再inflate一个新的子view,加入这个layout里面
Demo
LinearLayout container; button1.setOnClickListener(new View.OnClickListener() { void onClick(View v) { container.removeAllViews(); container.addView(inflater.inflate(R.layout.tab1, null)); } }); button2.setOnClickListener(new View.OnClickListener() { void onClick(View v) { container.removeAllViews(); container.addView(inflater.inflate(R.layout.tab2, null)); } });代码比较丑,思路就是这样的
2. 使用viewPager,viewSwitch,等多个容器的组件去装子view
ViewPager文档
ViewPager例子
ViewSwitcher文档
ViewSwitch例子
3. 使用fragment去管理这个容器
Fragment文档
Fragment例子
难易度上,3>2>1
看自己需求了。
虽然我没有搞过android开发,但我觉得用户切换的时候应该会触发RadioGroup的一个类似actived事件
最简单直接的办法当然是切换不同的activity啦,和web 前段的tab菜单切换其实思路是有点类似的......