Article from : http://help.discretelogix.com/android/how-to-add-custom-title-bar-to-android-application.htm

There are multiple ways to customize title bar in android application. Today, I am going to show a way in which we’ll completely change the looks of title bar and add extra views to it. Step 1: Create layout file First of all create an xml file for your title bar layout.
<?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="44dp"       android:orientation="horizontal"        android:gravity="center_vertical"    android:background="#FFFFFF"        >   <ImageViewandroid:id="@+id/dxLogo"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="left"        android:src="@drawable/dx_icon"android:layout_marginRight="10dip" />                 <TextView           android:id="@+id/titleHeading"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/app_name"style="@style/titleBarHeading" /></LinearLayout>
In this layout, I have included an image that is used to display a logo and then a text view to display activity heading. Step 2: Create application theme file In order to set a custom title bar properly, you have to create a new theme for your application. If you don’t specify padding and background color, your custom title bar won’t fill screen width.
<?xml version="1.0" encoding="utf-8"?><resources>    <style name="appTheme" parent="@android:style/Theme.Black">        <item name="android:textColor">#444444</item>                <item name="android:windowTitleBackgroundStyle">@style/titleBarBackground</item>        <item name="android:windowTitleSize">44dip</item>                </style>        <style name="titleBarHeading" parent="@android:style/TextAppearance">        <item name="android:textSize">17sp</item>            <item name="android:textStyle">bold</item>          <item name="android:textColor">#444444</item>        </style>        <style name="titleBarBackground">        <item name="android:background">@android:color/transparent</item>        <item name="android:padding">0px</item>    </style>    </resources>
In this theme file, I have defined styles for title bar itself as well as the text view that we defined in title bar layout file. Adding style to change padding of title bar is necessary otherwise s small border will be visible. After that, change you manifest file to specify application theme.
 <application        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/appTheme"        >
Step 3: Create a custom activity class Create a custom activity class which will act as parent to all your activities. OnCreate of your parent activity, set the layout of title bar to the one you have just created.
public class CashBookActivity extends Activity {  @Overridepublic void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);        requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);     setContentView(R.layout.main);      getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.window_title);       }}
The code above assume that the XML file containing your title layout is window_title.xml.Now extend all your activities from this parent class.
public class FormActivity extends CashBookActivity {@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState); setContentView(R.layout.form);TextView tvHeading = (TextView) findViewById(R.id.titleHeading);tvHeading.setText("Add New Transaction");}}
Save and run your application, you should see your custom title bar. Note: Do not extend your application’s custom theme from the default android themes having "NoTitleBar"

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. 创建Android虚拟设备(AVD)
  2. Android横竖屏布局总结
  3. Android中几种图像特效处理的集锦!!
  4. android介绍
  5. Android程序测试(2)——Activity测试
  6. android EditText彻底搞定输入框隐藏/显
  7. android:exported 属性详解
  8. Android应用开发入门五问
  9. Android常用控件总结
  10. android2.3 api demo 学习系列(1)--apidemo