titlebar的使用步骤详细说明
第一步定义titlebar的布局文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<ImageView
android:id="@+id/id_iv_imgtitlebar_back"
android:background="@drawable/abc_ic_ab_back_holo_light"
android:layout_width="wrap_content"
android:layout_height="19dp"
android:layout_marginTop="2dp"
android:layout_alignBottom="@+id/id_tv_edit_bartitle"
android:layout_alignParentStart="true" />
<TextView
android:id="@+id/id_tv_imgtitlebar_bartitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="登 录"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
第二步:在activity onCreate方法中实现如下方法:
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);//在setContentView 之前调用
setContentView(R.layout.activity_setusrinfo);
//设置titlebar布局文件为标题栏
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.imgtitlebar_back); //titlebar为自己标题栏的布局
第三步:
声明titlebar的控件
private ImageView iv_back;
private TextView tv_bartitle;
直接通过findViewById 获取对象
iv_back = (ImageView)findViewById(R.id.id_iv_imgtitlebar_back);
tv_bartitle =(TextView)findViewById(R.id.id_tv_imgtitlebar_bartitle);
tv_bartitle.setText("账号管理");
直接使用设置内容 或者设置事件就可以了.
第四步给你的titlebar设置主题样式
在values sytles.xml文件下定义titlebar的样式:
<style name="CustomWindowTitleBackground">
<item name="android:background">#827546</item>
</style>
<style name="backtitlebar" parent="android:Theme.Light">
<item name="android:windowTitleSize">35dp</item>
<item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
</style>
第五歩 在AndroidMainfest.xml下给你的activity设置主题
<activity android:name=".LoginActivity"
android:theme="@style/backtitlebar"
></activity>
这样你就可以打造自己独特的titlebar了.