至于文本对齐,应该可以做到
<TextView android:id="@+id/left_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_centerHorizontal="true"
android:text="ShowRoom" />
对于 ActionBar,首先将 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:orientation="horizontal" >
<TextView
android:id="@+id/action_bar_title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:gravity="center"
android:text="@string/app_name"
android:textAppearance="?android:textAppearanceLarge"
android:ellipsize="end"
android:padding="5dp"
android:maxLines="1"
/>
</LinearLayout>
在你的活动中:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.Layout.xyz);
initUI();
}
private void initUI(){
ActionBar mActionBar = getSupportActionBar();
mActionBar.setDisplayShowHomeEnabled(false);
mActionBar.setIcon(R.drawable.ic_launcher);
mActionBar.setDisplayShowCustomEnabled(true);
mActionBar.setCustomView(R.layout.custom_actionbar_layout);
}
至于 ActionBar 右侧的菜单图标,它称为 MenuItem,尝试使用“onCreateOptionsMenu”膨胀菜单并将其 xml 中的 showAsAction 设置为您想要的任何内容,例如将 xml 添加到 res/menu 文件夹,如下所示:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/ContctUs"
android:orderInCategory="100"
android:showAsAction="collapseActionView|withText"
android:title="@string/ContactUs"
android:icon="@drawable/ic_action_info"/>
<item
android:id="@+id/skin1"
android:orderInCategory="101"
android:showAsAction="collapseActionView|withText"
android:title="@string/skin1"
android:visible="false"
android:icon="@android:drawable/ic_menu_view"/>
在您的活动中:
@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
new MenuInflater(this).inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.ContctUs) {
startActivity(new Intent(this,ContactUs.class));
return(true);
}else if(...){...}
return super.onOptionsItemSelected(item);
}
希望这有效。
笔记:
此方法用于 Pre-L 设计,如果您想针对 android-L,请考虑使用 Toolbar。(support.v7.widget.Toolbar)