Android自定义标题栏
来源:互联网 发布:白无常电商美工教学 编辑:程序博客网 时间:2024/04/30 20:07
第一步,向实现自定义标题栏,需要在onCreate方法里这样写
- setContentView(R.layout.main);
- getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_bar);
注意:
requestWindowFeature要在setContentView之前
getWindow().setFeatureInit最好在setContentView之后
第二步,就是写好自己的布局文件,实现标题栏的自定义。
不过我们会遇到一些问题,就是标题栏的高度不能自定义~下面就是解决办法~
下面,我们看一下android title标题栏 在源码 framework中的XML文件
- <FrameLayout android:id="@android:id/title_container"
- android:layout_width="match_parent"
- android:layout_height="?android:attr/windowTitleSize"
- style="?android:attr/windowTitleBackgroundStyle">
- </FrameLayout>
- <FrameLayout android:id="@android:id/content"
- android:layout_width="match_parent"
- android:layout_height="0dip"
- android:layout_weight="1"
- android:foregroundGravity="fill_horizontal|top"
- android:foreground="?android:attr/windowContentOverlay"/>
- </LinearLayout>
screen_title.xml
- −
- <FrameLayout android:layout_width="match_parent"
- android:layout_height="?android:attr/windowTitleSize"
- style="?android:attr/windowTitleBackgroundStyle">
- <TextView android:id="@android:id/title"
- style="?android:attr/windowTitleStyle"
- android:background="@null"
- android:fadingEdge="horizontal"
- android:gravity="center_vertical"
- android:layout_width="match_parent"
- android:layout_height="match_parent"/>
- </FrameLayout>
- <FrameLayout android:id="@android:id/content"
- android:layout_width="match_parent"
- android:layout_height="0dip"
- android:layout_weight="1"
- android:foregroundGravity="fill_horizontal|top"
- android:foreground="?android:attr/windowContentOverlay"/>
- </LinearLayout>
既然是自定义标题,那我们就看screen_custom_title.xml,里面有一个title_container和一个content,组合成了标题栏,我们自定义标题所给出的view,都被content作为子view了,影响不了那个title_container和content,所以,任你怎么弄,它该留白的还是留白,你没招。
看title_container有个style是这样的:
style="?android:attr/windowTitleBackgroundStyle"
content的foreground是这样的android:foreground="?android:attr/windowContentOverlay"
我们可以自己写一个style
- <style name="CustomWindowTitleBackground">
- <item name="android:background">#00cc00</item>
- </style>
- <style name="test" parent="android:Theme">
- <item name="android:windowTitleSize">50dp</item>
- <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
- </style>
- </resources>
加入到AndroidManifest
- android:label="@string/app_name" android:theme="@style/title_bar">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- android自定义标题栏progressBar
- Android自定义标题栏
- 自定义android标题栏
- android实现自定义标题栏
- Android自定义标题栏
- Android 自定义标题栏
- Android 自定义标题栏
- Android自定义标题栏
- Android自定义标题栏
- android之自定义标题栏
- Android自定义标题栏
- Android 自定义标题栏运用
- Android 自定义标题栏
- android ListView+自定义标题栏
- Android 自定义标题栏
- Android:自定义标题栏
- Android Actionbar自定义标题栏
- 自定义Android标题栏TitleBar
- Suse linux 安装vw-tools
- Objective-C内存管理总结 iphone
- GVIM配置
- Java风格
- 错误: In doing so, the sorting sequence - determined by the table key - was destroyed. 之解决
- Android自定义标题栏
- mysql 存储过程(我自己写的第一个存储过程,支持事务管理)2
- ExtJs4的Chart
- OpenGL中查询模型视图(Model View)矩阵中的数据
- Linux下malloc/free详解
- 每天学习一算法系列(33)(n 支队伍比赛,分别编号为0,1,2......n-1,已知它们之间的实力对比关系,存储在一个二维数组w[n][n]中,w[i][j] 的值代表编号为i,j 的队伍中更强)
- 烦恼
- 计算K指数
- web.config设置之system.webServer 详细介绍,为网站设置默认文档