XML代码:
1
2
3
4
5
6
7
8
9
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
|
<RelativeLayout xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools:context=
".MainActivity"
>
<TabHost
android:id=
"@android:id/tabhost"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_alignParentLeft=
"true"
android:layout_alignParentTop=
"true"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<TabWidget
android:id=
"@android:id/tabs"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:visibility=
"gone"
>
</TabWidget>
<FrameLayout
android:id=
"@android:id/tabcontent"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
android:layout_weight=
"1"
>
</FrameLayout>
<RadioGroup
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_gravity=
"bottom"
android:orientation=
"horizontal"
>
<RadioButton
android:id=
"@+id/maintab_radio_tab1"
style=
"@style/tab_button"
android:checked=
"true"
android:text=
"主页"
android:background=
"#ff00ff00"
/>
<RadioButton
android:id=
"@+id/maintab_radio_tab2"
style=
"@style/tab_button"
android:text=
"分页"
android:background=
"#ff00ff00"
/>
<RadioButton
android:id=
"@+id/maintab_radio_tab3"
style=
"@style/tab_button"
android:text=
"设置"
android:background=
"#ff00ff00"
/>
</RadioGroup>
</LinearLayout>
</TabHost>
</RelativeLayout>
|
style=
"@style/tab_button"文件:
1
2
3
4
5
6
7
8
9
10
11
12
|
<!-- 主页底部RadioButton样式 -->
<style name=
"tab_button"
>
<item name=
"android:layout_width"
>fill_parent</item>
<item name=
"android:layout_height"
>wrap_content</item>
<item name=
"android:ellipsize"
>marquee</item>
<item name=
"android:button"
>
@null
</item>
<item name=
"android:paddingTop"
>1dp</item>
<item name=
"android:layout_weight"
>
1.0
</item>
<item name=
"android:gravity"
>center_horizontal</item>
<item name=
"android:singleLine"
>
true
</item>
<item name=
"android:drawablePadding"
>
1
.0dip</item>
</style>
|
布局结构:(将TabWidget隐藏,用一组去掉button勾选框的RadioButton替代)
java代码:
1
2
3
4
5
6
7
8
9
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
|
public
class
MainActivity
extends
TabActivity
implements
OnClickListener
{
private
RadioButton mBtn_tab1;
private
RadioButton mBtn_tab2;
private
RadioButton mBtn_tab3;
private
TabHost mTabHost;
@Override
protected
void
onCreate(Bundle savedInstanceState)
{
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
initTab();
}
//初始化界面
private
void
init()
{
mBtn_tab1 = (RadioButton)findViewById(R.id.maintab_radio_tab1);
mBtn_tab2 = (RadioButton)findViewById(R.id.maintab_radio_tab2);
mBtn_tab3 = (RadioButton)findViewById(R.id.maintab_radio_tab3);
mBtn_tab1.setOnClickListener(
this
);
mBtn_tab2.setOnClickListener(
this
);
mBtn_tab3.setOnClickListener(
this
);
}
//初始化底部标签栏
private
void
initTab()
{
mTabHost = getTabHost();
mTabHost.addTab(mTabHost.newTabSpec(
"tab1"
).setIndicator(
"tab1"
).setContent(
new
Intent(
this
, Tab1Activity.
class
)));
mTabHost.addTab(mTabHost.newTabSpec(
"tab2"
).setIndicator(
"tab2"
).setContent(
new
Intent(
this
, Tab2Activity.
class
)));
mTabHost.addTab(mTabHost.newTabSpec(
"tab3"
).setIndicator(
"tab3"
).setContent(
new
Intent(
this
, Tab1Activity.
class
)));
}
@Override
public
void
onClick(View v)
{
switch
(v.getId())
{
case
R.id.maintab_radio_tab1:
mTabHost.setCurrentTabByTag(
"tab1"
);
break
;
case
R.id.maintab_radio_tab2:
mTabHost.setCurrentTabByTag(
"tab2"
);
break
;
case
R.id.maintab_radio_tab3:
mTabHost.setCurrentTabByTag(
"tab3"
);
break
;
default
:
break
;
}
}
}
|
本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1281759,如需转载请自行联系原作者