Android-自己定义标题栏

2014年4月25日 分享知识点

最近也比較多事情,想发发博客就是心有余而力不足,本篇博文主要教大家怎样实现自己定义标题栏,非常easy。那么聪明的你一下就看懂。

有兴趣能够加一下 群号是299402133,里面有丰富的学习资源,志同道合的你。一定会有所收获的。

实现步骤

* 1、给自己定义标题提供一个界面

* 2、将自己定义标题应用给Activity窗体 
* 3、把android系统为Activity设置的默认主题改为自己的主题

效果图:

代码下载:http://download.csdn.net/detail/wwj_748/7249585

/02_CustomTitle/res/layout/constom_title.xml

<?xml version="1.0" encoding="utf-8"?

>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/rectangle"
android:orientation="horizontal" > <!-- 指定背景。该背景自己画的 --> <TextView
style="@android:style/TextAppearance.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="IT_xiao小巫"
android:textColor="#ffffff"
android:textSize="14sp" /> </LinearLayout>

这里使用到了一个图像资源,是在drawable文件夹下的:

/02_CustomTitle/res/drawable/rectangle.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" > <!-- 定义渐变色 -->
<gradient
android:angle="270"
android:endColor="#80FF00FF"
android:startColor="#FFFF0000" />
<!-- 定义控件内容到边界的距离(到四条边界的距离都是2) -->
<padding
android:bottom="2dp"
android:left="2dp"
android:right="2dp"
android:top="2dp" />
<!-- 定义圆角 -->
<corners android:radius="8dp" /> </shape>

/02_CustomTitle/src/com/wwj/constomtitle/MainActivity.java

package com.wwj.constomtitle;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window; /**
* 1、给自己定义标题提供一个界面
* 2、将自己定义标题应用给Activity窗体
* 3、把android系统为Activity设置的默认主题改为自己的主题
*
* @author wwj
*
*/
public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); // 指定使用自己定义标题
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.activity_main);
// 设置窗体的自己定义标题布局文件
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.constom_title); } }

改动默认样式

 <!-- 该样式继承系统的默认样式 -->
<style name="customTheme" parent="android:Theme"> <!-- 设置标题前景色为透明 -->
<item name="android:windowContentOverlay">@drawable/nocolor</item>
<!-- 设置标题高度为44dp -->
<item name="android:windowTitleSize">44dp</item>
<!-- 设置标题背景色 -->
<item name="android:windowTitleBackgroundStyle">@style/customBg</item>
</style>
<!-- 定义一个背景样式 -->
<style name="customBg">
<item name="android:background">@drawable/rectangle</item>
</style>

/02_CustomTitle/res/values/drawable.xml

<?xml version="1.0" encoding="utf-8"?>
<resources> <!-- 定义一个透明色 -->
<drawable name="nocolor">#00000000</drawable> </resources>
在AndroidManifest.xml设置主题
<?xml version="1.0" encoding="utf-8"?

>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.wwj.constomtitle"
android:versionCode="1"
android:versionName="1.0" > <uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" /> <application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/customTheme" >
<activity
android:name="com.wwj.constomtitle.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application> </manifest>

最新文章

  1. SharePoint Online 创建门户网站系列之准备篇
  2. Copy15G的初始容量,注册就再送5G,邀请注册的人也送5G
  3. SSH服务器拒绝了密码 请再试一次
  4. divcss5布局
  5. Java多线程程序设计详细解析
  6. The sound of silence引发的关于互联网以及教育的利弊思考
  7. AnimateWindow
  8. Android TextView 字符串展示不同大小文字
  9. html5 新增语义标签
  10. MFC子窗口和父窗口(SetParent,SetOwner)
  11. Cs231n-assignment 1作业笔记
  12. socketServer并发处理socket
  13. javap浅析-书籍第3章的手写稿样稿
  14. SpringBoot使用Mybatis-Generator
  15. JS_高阶函数(sort)
  16. Android 音视频深入 九 FFmpeg解码视频生成yuv文件(附源码下载)
  17. 51nod1683
  18. 防止UI界面被输入法遮挡(画面随输入法自适应)
  19. UVALive 6909 Kevin&#39;s Problem 数学排列组合
  20. JavaScript计算指定日期与当前日期的相差天数

热门文章

  1. 现代英特尔&#174; 架构上的 TensorFlow* 优化——正如去年参加Intel AI会议一样,Intel自己提供了对接自己AI CPU优化版本的Tensorflow,下载链接见后,同时可以基于谷歌官方的tf版本直接编译生成安装包
  2. JavaScript:DOM对象
  3. php 获取随机字符串(原创)
  4. [CSharp] C#开源大全
  5. LeetCode Weekly Contest 26
  6. Hashlib 用户名密码加密 2.0
  7. JavaScript的面向对象
  8. javascript实现双击网页自动滚动,单击滚动停止
  9. 通过nvm 切换 npm 版本
  10. Jquery插件:提示框