Android中使用TabHost实现类似标签栏的效果
16lz
2021-01-23
MainActivity.java
public class MainActivity extends TabActivity { private TabHost tabHost; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); //加载底部Tab布局 LinearLayout tab1=(LinearLayout)LayoutInflater.from(this).inflate(R.layout.item, null); final ImageView icon1=(ImageView)tab1.findViewById(R.id.icon); icon1.setBackgroundResource(R.drawable.icon11); final TextView title1=(TextView)tab1.findViewById(R.id.title); title1.setText("First"); LinearLayout tab2=(LinearLayout)LayoutInflater.from(this).inflate(R.layout.item, null); ImageView icon2=(ImageView)tab2.findViewById(R.id.icon); icon2.setBackgroundResource(R.drawable.icon12); TextView title2=(TextView)tab2.findViewById(R.id.title); title2.setText("Second"); // 加载TabSpec /* tabHost = (TabHost) findViewById(R.id.view_tab_host); tabHost.setup(getLocalActivityManager()); */ tabHost = getTabHost(); //tabHost.setup(); TabSpec ts1 = tabHost.newTabSpec("Activity1"); ts1.setIndicator(tab1); ts1.setContent(new Intent(this, FirstActivity1.class)); tabHost.addTab(ts1); TabSpec ts2 = tabHost.newTabSpec("Activity2"); ts2.setIndicator(tab2); ts2.setContent(new Intent(this, SecondActivity2.class)); tabHost.addTab(ts2); //设置标签栏背景图片 TabWidget tw = tabHost.getTabWidget(); tw.setBackgroundResource(R.drawable.tabbarbg); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
main.xml
<?xml version="1.0" encoding="utf-8"?>
item.xml
<?xml version="1.0" encoding="utf-8"?>
运行结果:
更多相关文章
- Android 字体效果:描边、浮雕效果
- Android布局优化:ViewStub标签实现延迟加载(源码解析原理)
- android 自定义提示弹窗效果
- android上开源的酷炫的交互动画和视觉效果
- Dialog弹出后 Activity蒙层效果代码
- 关于android 4.4以上版本从相册选取图片加载不了图片的问题
- Android中 加载一张大图片Caused by: java.lang.OutOfMemoryErro
- Android 设置TextView滑动滚动条和滑动效果
- Android图片缩放效果代码