Android开发中项目实现一个自定义Tab选项卡功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
具体如下:
import android.app.TabActivity;import android.content.Intent;import android.os.Bundle;import android.widget.*;import android.widget.TabHost.OnTabChangeListener;import android.os.Build;import android.view.View;import java.lang.reflect.Field;import android.view.LayoutInflater;public class testTabActivity extends TabActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); int width =45; int height =48; final TabHost tabs = getTabHost(); final TabWidget tabWidget = tabs.getTabWidget(); Field mBottomLeftStrip; Field mBottomRightStrip; LayoutInflater.from(this).inflate(R.layout.tab_views, tabs.getTabContentView(), true); tabs.addTab(tabs.newTabSpec("first tab") .setIndicator("信息",getResources().getDrawable(R.drawable.m)) .setContent(new Intent(testTabActivity.this,OneActivty.class)) ); tabs.addTab(tabs.newTabSpec("second tab") .setIndicator("收藏",getResources().getDrawable(R.drawable.n)) .setContent(R.id.content)); tabs.addTab(tabs.newTabSpec("second tab") .setIndicator("设置",getResources().getDrawable(R.drawable.s)) .setContent(R.id.content)); for (int i =0; i < tabWidget.getChildCount(); i++) { tabWidget.getChildAt(i).getLayoutParams().height = height; tabWidget.getChildAt(i).getLayoutParams().width = width; final TextView tv = (TextView) tabWidget.getChildAt(i).findViewById(android.R.id.title); tv.setTextColor(this.getResources().getColorStateList(android.R.color.white)); if (Float.valueOf(Build.VERSION.RELEASE) <= 2.1) { try { mBottomLeftStrip = tabWidget.getClass().getDeclaredField ("mBottomLeftStrip"); mBottomRightStrip = tabWidget.getClass().getDeclaredField ("mBottomRightStrip"); if(!mBottomLeftStrip.isAccessible()) { mBottomLeftStrip.setAccessible(true); } if(!mBottomRightStrip.isAccessible()){ mBottomRightStrip.setAccessible(true); } mBottomLeftStrip.set(tabWidget, getResources().getDrawable (R.drawable.no)); mBottomRightStrip.set(tabWidget, getResources().getDrawable (R.drawable.no)); } catch (Exception e) { e.printStackTrace(); } } else { } View vvv = tabWidget.getChildAt(i); if(tabs.getCurrentTab()==i){ vvv.setBackgroundDrawable(getResources().getDrawable(R.drawable.tab_button)); } else { vvv.setBackgroundDrawable(getResources().getDrawable(R.drawable.bar)); } } tabs.setOnTabChangedListener(new OnTabChangeListener(){ @Override public void onTabChanged(String tabId) { // TODO Auto-generated method stub for (int i =0; i < tabWidget.getChildCount(); i++) { View vvv = tabWidget.getChildAt(i); if(tabs.getCurrentTab()==i){ vvv.setBackgroundDrawable(getResources().getDrawable(R.drawable.tab_button)); } else { vvv.setBackgroundDrawable(getResources().getDrawable(R.drawable.bar)); } } }}); }}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- 如何通过 Java Reflection 获取泛型信息?(java reflection如何获取泛型信息)
- 如何自定义 Java 泛型通配符?(java泛型通配符怎么自定义)
- Java Spring 注解与 XML 配置的差异究竟有哪些?(java spring注解与XML配置的区别是什么)
- Java 动态线程池对性能究竟有哪些影响呢?(Java动态线程池对性能的影响)
- 在 Java 中,Guava 究竟有哪些作用呢?(java中guava的作用是什么)
- 软考高项证书能个税抵扣吗?软考高项证书个税啥时候填报?
- 在 JavaScript 中,offsetWidth 的作用究竟是什么?(javascript中offsetwidth作用是什么)
- 软考高项证书个税抵扣有用吗?软考高项证书怎么抵扣个税?
- Java 多线程究竟能否实现线程池?(Java多线程能实现线程池吗)
- Java 序列化中 getByte 方法的角色究竟是什么?(getbyte方法在java序列化中的角色)
猜你喜欢
AI推送时光机Android开发中项目实现一个自定义Tab选项卡功能
后端开发2023-05-31
Android编程实现自定义Tab选项卡功能示例
后端开发2022-06-06
Android开发中项目实现一个画板功能
后端开发2023-05-31
怎么在Android应用中实现一个选项卡功能
后端开发2023-05-31
android开发中项目实现一个图片压缩功能并能指定大小
后端开发2023-05-31
Android开发中项目实现一个显示输入密码的功能
后端开发2023-05-31
android开发中使用view实现自定义一个进度条功能
后端开发2023-05-31
在Android开发中怎么实现一个自定义输入法功能
后端开发2023-05-31
在Android项目中利用TextView实现一个自动滚动功能
后端开发2023-05-31
Android项目中利用CountDownTimer实现一个倒数功能
后端开发2023-05-31
Android开发中怎么自定义一个视频录制功能
后端开发2023-05-31
怎么在java项目中实现一个选择排序功能
后端开发2023-05-31
android开发中如何实现一个定位与目的地导航功能
后端开发2023-05-31
通过在android项目中使用MediaRecorder实现一个录音功能
后端开发2023-05-31
怎么在Android项目中实现一个重力传感器功能
后端开发2023-05-30
在Android项目中使用OKHttp3怎么实现一个下载功能
后端开发2023-05-31
如何在Android sdutio项目中利用Zxing实现一个扫码功能
后端开发2023-05-31
android开发中怎么实现一个App定时跳转功能
后端开发2023-05-31
咦!没有更多了?去看看其它编程学习网 内容吧