参考 博客1、博客2、博客3
在 res/layout 新建文件 actionbar_layout.xml,在里面写上 自定义的actionBar布局
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/bar_text"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center"
android:text="标题"
android:textColor="#ffffff"
android:textSize="@dimen/action_bar_text" />
<Button
android:id="@+id/bar_btn"
android:background="@drawable/change"
android:layout_gravity="left|center_vertical"
android:layout_width="@dimen/action_bar_btn"
android:layout_height="@dimen/action_bar_btn"/>
</FrameLayout>
@Override
protected void onCreate(Bundle savedInstanceState) {
Log.e("lyh","ChooseLocationActivity onCreate");
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); //Enable自定义的View
actionBar.setCustomView(R.layout.actionbar_layout); //绑定自定义的布局:actionbar_layout.xml
/**
绑定 控件
*/
TextView barText=(TextView)actionBar.getCustomView().findViewById(R.id.bar_text);
Button barBtn=(Button)actionBar.getCustomView().findViewById(R.id.bar_btn);
/**
* 定义 控件的行为
*/
barBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
action_barBtn();
}
});
}else {
Log.e("actionbar","is null");
}
}