- 浏览: 799561 次
- 性别:
- 来自: 哈尔滨
文章分类
最新评论
-
doloveme:
$sudo cp MONACO_Linux.ttf /usr/ ...
terminator 的配置 -
腾讯rep:
lowser
RSA加密算法c++简单实现 -
csuhanyong:
好YD啊,好YD
一图流:机械键盘各轴区别 -
doloveme:
1。其中:extman ,extmail下载http://ww ...
Ubuntu下安装postfix+extmail邮件服务器 -
doloveme:
repo sync出现“fatal: '../platform ...
Android 编译环境配置搭建(Ubuntu 12.04)及环境导致编译错误QA
之前看到过论坛里已经有人发过自定义Tab样式的帖子,感觉有些复杂了,这里分享个简单的方法。
1.制作4个9patch的tab样式,可参考android默认的资源
tab_unselected.9.png
tab_selected.9.png
tab_press.9.png
tab_focus.9.png
这4个资源分别代表Tab的4种状态。
2.定义Tab的selector样式(就叫它tab_indicator.xml好了),将其放入drawable文件夹下,代码如下:
- <?xml version="1.0"
encoding="utf-8"?>
- <selector
xmlns:android="http://schemas.android.com/apk/res/android">
- <!-- Non focused states -->
- <item android:state_focused="false"
android:state_selected="false" android:state_pressed="false"
android:drawable="@drawable/tab_unselected" />
- <item android:state_focused="false"
android:state_selected="true" android:state_pressed="false"
android:drawable="@drawable/tab_selected" />
- <!-- Focused states -->
- <item android:state_focused="true"
android:state_selected="false" android:state_pressed="false"
android:drawable="@drawable/tab_focus" />
- <item android:state_focused="true"
android:state_selected="true" android:state_pressed="false"
android:drawable="@drawable/tab_focus" />
- <!-- Pressed -->
- <item android:state_pressed="true"
android:drawable="@drawable/tab_press" />
- </selector>
3.编写indicator的布局文件(不妨也叫tab_indicator.xml),将其放入layout文件夹下,代码如下:
- <?xml version="1.0"
encoding="utf-8"?>
- <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="0dip"
- android:layout_height="64dip"
- android:layout_weight="1"
- android:layout_marginLeft="-3dip"
- android:layout_marginRight="-3dip"
- android:orientation="vertical"
- android:background="@drawable/tab_indicator">
- <ImageView android:id="@+id/icon"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_centerHorizontal="true"
- />
- <TextView android:id="@+id/title"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
- android:layout_centerHorizontal="true"
- style="?android:attr/tabWidgetStyle"
- />
4.接下来就是在TabActivity中使用我们自己编写的Tab样式了:
- // 首先获取TabWidget
- mTabHost = getTabHost();
- LinearLayout layout = (LinearLayout)mTabHost.getChildAt(0);
- TabWidget tw = (TabWidget)layout.getChildAt(0);
这里可能有人会问为什么 LinearLayout layout = (LinearLayout)mTabHost.getChildAt(0),接着看,Android源代码中是这样定义TabHost的(下面是原文件 tab_content.xml定义),他的第一个也就是索引0的子孩子是一个线性布局,该孩子在里面才是定义了TabWidget视图。
- <TabHost
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
- android:layout_width="fill_parent"
android:layout_height="fill_parent">
- <LinearLayout android:orientation="vertical"
- android:layout_width="fill_parent"
android:layout_height="fill_parent">
- <TabWidget android:id="@android:id/tabs"
android:layout_width="fill_parent"
- android:layout_height="wrap_content"
android:layout_weight="0" />
- <FrameLayout android:id="@android:id/tabcontent"
- android:layout_width="fill_parent"
android:layout_height="0dip"
- android:layout_weight="1"/>
- </LinearLayout>
- </TabHost>
文接上文,废话不表。
然后用类似如下代码创建TabSpec,就大功告成了。
- RelativeLayout
tabIndicator1 = (RelativeLayout)
LayoutInflater.from(this).inflate(R.layout.tab_indicator, tw, false);
- TextView tvTab1 = (TextView)tabIndicator1.getChildAt(1);
- tvTab1.setText("tab1");//你也可以拿到ImageView设置该Tab的图片Icon
- mTabHot = mTabHost.newTabSpec("TAB_1")
- .setIndicator(tabIndicator1)
- .setContent(contentIntent);
发表评论
-
JAVA代码混淆
2016-05-05 18:24 1364JAVA代码混淆 <!--[if !supportL ... -
android 监听状态栏被下拉
2015-12-25 17:23 3372Activity的onWindowFocusChange()方 ... -
android使用mount挂载/system/app为读写权限,删除或替换系统应用
2015-11-27 14:13 3946注意:以下代码中#开头的则为需要执行的shell命令,其他的 ... -
Ubuntu 14.04 文件服务器--samba的安装和配置
2015-11-10 10:49 598jingyan.baidu.com/album/00a07f ... -
intellij 打开工程在每个java文件上 有个红色的无效符
2015-07-24 13:52 1707说明该类不是可编译文件。在project Structure中 ... -
logcat命令详解
2015-07-22 16:34 926Android日志系统提供了记录和查看系统调试信息的功能。日 ... -
gradle打包遇到的错误汇总
2015-07-21 11:32 0错误1:A problem occurred ... -
Android读写XML(下)——创建XML文档
2015-04-29 11:02 569在前面的2篇文章Android读写XML(上)—— pack ... -
Android读写XML(中)——SAX
2015-04-29 10:54 588在Android读写XML(上) ... -
Android读写XML(下)——创建XML文档
2015-04-29 10:52 659在前面的2篇文章Android读写XML(上)—— pack ... -
android:configChanges locale 改语言后,该配置不起作用的原因
2015-03-23 14:38 2340@Override public void on ... -
android.app.Fragment$InstantiationException 解决办法
2015-03-23 13:46 1309android.app.Fragment$Instantia ... -
linux 查看内存
2015-02-10 13:08 6931、free监控内存使用情况 #free 2、watc ... -
android fastboot 刷机 指令
2015-01-19 18:31 1464原生bootloader:bootloader-gro ... -
[Android实例] android中进行https连接的方式的详解 (转发)
2015-01-09 15:50 665x 如果不需要验证服务器端证书, ... -
编译android源码apk是否生成odex方法
2014-10-20 17:19 1577其实Android系统默认的配置是,如果没有指定DISABL ... -
关于android源码中的APP编译时引用隐藏的API出现的问题
2014-10-20 15:36 769今天在编译android源码中的计算器APP时发现,竟然无法 ... -
Android系统进程Zygote启动过程的源代码分析
2014-09-17 10:09 452在Android系统中, ... -
Handler和HandlerThread
2014-09-16 16:58 6531.什么是Handler? SDK中关于Handler的说 ... -
怎样识别三洋18650锂电池电芯
2014-09-01 09:52 1063浏览:20384 | 更新:2011-03 ...
相关推荐
Android Wifi方法大全【总有一种方法适合你】 android开发环境搭建篇详尽的教程实例汇 图形图像之图像处理(缩放 旋转 转化) android开发之【腾讯微博android客户端开发】Parameter类和SyncHttp 网友自己写的...
第一篇Android系统结构和SDK使用 第1章 Android的系统介绍 1.1 系统介绍 1.2 软件结构和使用的工具 第2章 Android SDK的开发环境 2.1 Android SDK的结构 2.2 Android SDK环境安装 2.3 Android中运行仿真器环境 2.4 ...
当然实现的方法有很多,我知道的有两种方法:一种是采用listview嵌套listview的方式,这种方式需要重写listview中onMearsure方法;还有一种是采用接口回调的方式,这种方式主要对后台返回的数据有依赖; 今天主要...
只需要传递字符串数组即可,如果使用自定义样式只需传递customview即可以下为原始特性:支持多级菜单你可以完全自定义你的菜单样式,我这里只是封装了一些实用的方法,Tab的切换效果,菜单显示隐藏效果等并非用...
(1)底部选择菜单功能应该是大多app都会用到的,实现方式也有很多种,比较笨的方法可以自定义一个xml,下方布局样式,每次点击不同按钮时跳转到不同activity,这个activity重新加载一下底部菜单 (2)今天介绍一个...
第一篇 Android 系统结构和SDK 使用............................................................................................................................ 5 第1 章 Android 的系统介绍..................
第一篇Android系统结构和SDK使用 ...............................................................................4 第1章 Android的系统介绍 ...................................................................
第一篇Android系统结构和SDK使用 ...............................................................................4 第1章 Android的系统介绍 ...................................................................
- 另外一种方式,在webstorm里对index.html 按debug运行,同样是“所见即所得”的方式开发 ### CROS支持 - 生产环境的 CROS支持要么使用jsonp技术,要么在服务端设置代理。 - 而开发环境下要么 基于不安全做法,...
一、IDE 1、对IDE的高DPI支持,涵盖了最新的4k+显示器,整个字体和图标更干净、更清晰。 2、多显示器和多窗口改进:在多个窗口中同时设计和编辑同一个表单的代码 3、完全重建的欢迎页,具有原生的外观和感觉,以及...
第一篇Android系统结构和SDK使用............................................................................................................................5 第1章 Android的系统介绍........................
第一篇 Android 系统结构和 SDK 使用...............................................................................4 第 1 章 Android 的系统介绍............................................................