创建自定义 ActionBar 通常涉及以下步骤:
1.在应用程序清单文件(AndroidManifest.xml)中启用 ActionBar。
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat.Light.DarkActionBar" >
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat.Light.DarkActionBar" >
</activity>
</application>
2.创建自定义 ActionBar 布局文件。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/titleText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textColor="#FFFFFF"
android:text="黑马面面" />
<ImageView
android:id="@+id/back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/abc_ic_ab_back_mtrl_am_alpha"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:padding="10dp"
android:onClick="clickBack"/>
</RelativeLayout>
3.创建新的 ActionBar 布局并在 Activity 中使用它。
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
LayoutInflater inflator = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflator.inflate(R.layout.actionbar_layout, null);
actionBar.setCustomView(v);
示例一:自定义 ActionBar 背景颜色
在上述自定义布局文件的根标签中增加如下属性:
android:background="#FF0000"
示例二:自定义 ActionBar 左侧返回按钮的点击事件
在布局文件中的 ImageView 标签中增加如下属性:
android:onClick="clickBack"
在 Activity 中增加如下方法:
public void clickBack(View v) {
finish();
}
这两个示例均为自定义 ActionBar 布局文件中增加相应元素并实现相应的逻辑,可以拓展到更复杂的自定义 ActionBar 功能上。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android如何创建自定义ActionBar - Python技术站