Thinking in XiaoQiang
世人皆有悲哀,只有你不明白
posts - 56,comments - 150,trackbacks - 0
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,将来会慢慢改善, 先凑合用, 抛块砖先, 各位有玉的使劲砸, 金条也行

 下载

posted @ 2010-05-13 15:46 小强 阅读(2013) | 评论 (0)编辑 收藏