浏览 6043 次
锁定老帖子 主题:用Gallery代替TabHost
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-05-13
android SDK中提供了TabHost使用起来很方便, 但是当tab比较多的时候,就会挤在一起,而不能横向的滚动比较麻烦. 于是我尝试的制作了一个简单的使用Gallery来代替TabHost的例子, 确实够简单的,自娱自乐.....仅供参考
使用BroadcastReceiver来切换不同的Tab
public class ChangeTabBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { int index = intent.getExtras().getInt(CURRENT_TAB_INDEX); Log.i(TAG, "onReceive index = " + index); // setCurrentTab(index); topBar.setSelection(index); startGroupActivity(titleList.get(index).toString(), (Intent) intentList.get(index)); } }
没有详细研究SDK中的TabHost实现机制, 使用起来还是有些不方便的地方
public class GalleryTabActivityDemo extends GalleryTabactivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setDelegate(new SliderBarActivityDelegateImpl()); for (int i = 0; i < 14; i++) { Intent intent; if (i % 2 == 0) intent = new Intent(this, DemoActivity1.class); else intent = new Intent(this, DemoActivity2.class); this.addTab("title" + i, android.R.drawable.star_on, intent); } //必须在addTab后调用commit, 有点麻烦, 将来会找更好的办法 super.setup(); } //可自定义切换tab时触发的操作 private class SliderBarActivityDelegateImpl extends SliderBarActivityDelegate { protected void onTabChanged(int tabIndex) { Log.d("onTabChanged", "" + tabIndex); } } }
最近工作比较忙,没太多时间学习android,将来会慢慢改善, 先凑合用, 抛块砖先, 各位有玉的使劲砸, 金条也行 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-05-15
用ImageSwitch好像也能实现这个功能!!学习了。。
|
|
返回顶楼 | |