展会信息港展会大全

android TabHost解决下面白线
来源:互联网   发布日期:2015-10-03 11:12:50   浏览:1462次  

导读: 我之前做分页都是用GridView和ActivityGroup实现的.因为觉得TabHost不好用,还有就是自己水平差的原因吧.如果帮的话,重写view任何问题都可以解决,呵呵,下面请看实...

我之前做分页都是用GridView和ActivityGroup实现的.因为觉得TabHost不好用,还有就是自己水平差的原因吧.如果帮的话,重写view任何问题都可以解决,呵呵,下面请看实现过程,其实很简单.

针对TabHost的运用,我就不多讲解了,网上例子好多,或者你也可以下载我的Demo查看,不过先声明,写的不好.

代码片段:

[java]

public class MyActivity extends TabActivity {

private TabWidget tabWidget;

/** Called when the activity is first created. */

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Resources res = getResources(); // Resource object to get Drawables

final TabHost tabHost = getTabHost(); // The activity TabHost

TabHost.TabSpec spec; // Resusable TabSpec for each tab

Intent intent; // Reusable Intent for each tab

// Create an Intent to launch an Activity for the tab (to be reused)

intent = new Intent().setClass(this, ArtistsActivity.class);

// Initialize a TabSpec for each tab and add it to the TabHost

spec = tabHost

.newTabSpec("artists")

.setIndicator("Artists",

res.getDrawable(R.drawable.ic_tab_artists))

.setContent(intent);

tabHost.addTab(spec);

// Do the same for the other tabs

intent = new Intent().setClass(this, AlbumsActivity.class);

spec = tabHost

.newTabSpec("albums")

.setIndicator("Albums",

res.getDrawable(R.drawable.ic_tab_artists))

.setContent(intent);

tabHost.addTab(spec);

intent = new Intent().setClass(this, SongsActivity.class);

spec = tabHost

.newTabSpec("songs")

.setIndicator("Songs",

res.getDrawable(R.drawable.ic_tab_artists))

.setContent(intent);

tabHost.addTab(spec);

tabHost.setCurrentTab(2);

View v;

tabWidget = tabHost.getTabWidget();

for (int i = 0; i < tabWidget.getChildCount(); i++) {

// 获取tabview项

v = tabWidget.getChildAt(i);

// 设置tab背景颜色

v.setBackgroundResource(android.R.color.white);

// 获取textview控件,(默认为白色)

TextView textView = (TextView) v.findViewById(android.R.id.title);

textView.setTextColor(Color.BLACK);

// 默认选项要处理

if (tabHost.getCurrentTab() == i)

v.setBackgroundResource(R.drawable.renren_sdk_pay_repair_btn);

}

// tabchanged的监听

tabHost.setOnTabChangedListener(new OnTabChangeListener() {

// tabId显示的是:newTabSpec里面的值

@Override

public void onTabChanged(String tabId) {

// 首先把所有的view背景初始化了.

for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) {

View v = tabHost.getTabWidget().getChildAt(i);

// 设置tab背景颜色

v.setBackgroundResource(android.R.color.white);

// 选中的进行处理

if (tabHost.getCurrentTab() == i) {

v.setBackgroundResource(R.drawable.renren_sdk_pay_repair_btn);

}

}

}

});

}

}

作者:jj120522

赞助本站

人工智能实验室

相关热词: android开发 教程

上一篇:android tabhost
AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港