千家信息网

android TabHost如何解决下面白线

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,android TabHost如何解决下面白线,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。我之前做分页都是用GridView和Acti
千家信息网最后更新 2026年11月03日android TabHost如何解决下面白线

android TabHost如何解决下面白线,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

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

?


01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

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);

}

}

}

});

}

}



其实就是那几行加注释部分,相信你看一下就明白.

解决Tab下面白线方法:
首先我们要获取Tab的分页view和textview控件,因为textview默认字体是白色.我们要进行处理.获取后进行相应处理(也就是该加背景的加背景,该改变字体颜色的改变字体颜色).***我们要对TabHost进行监听(OnTabChangedListener);也不是什么监听,。就是用他的点击执行事件.

看完上述内容,你们掌握android TabHost如何解决下面白线的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

背景 颜色 处理 字体 就是 方法 问题 监听 内容 原因 控件 更多 白色 束手无策 为此 不好 也就是 事件 代码 对此 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手磨咖啡 广东万易互联网科技有限公司惠州分公司 互联网科技公司简介 重生之互联网科技帝国 互联网最新的科技有限公司 远信互联网科技 世界互联网领先科技成果 致聘互联网科技 易通互联网络科技有限公司 苏州大垚互联网科技 互联网高科技企业 互联网科技咨询 上海亿帐通互联网科技 居家互联网科技有限公司 成都仁贤领冠互联网科技有限公司 想开互联网科技公司怎么样 互联网公司高科技产品 新氧科技和美国互联网有关系吗 利用互联网等科技手段 武汉亿视互联网科技有限公司 互联网金融科技 互联网与科技发展 互联网科技股午盘股票涨跌 北京三清互联网科技 贵州叶脉互联网科技有限公司所属行业 福建科技产业互联网发展 伍佰万互联网科技怎么赚钱 广州互联网高科技取餐柜 江苏互联网智能科技产品出厂价 求路客互联网科技电话
0