我有一个针对SDK 15,ICS 4.0.3的应用程序。我刚刚更新它指向4.1它打破了我的用户界面,并使它非常难看:
以下是API 15上的正常情况:
这是16或17:
我感觉这是因为Nexus 7使用手机UI而不是实际的平板电脑用户界面...有没有办法强制标签进入操作栏而不必使用像ActionBar sherlock或其他东西(如子类)?或者即使我可以使标签看起来不那么糟糕,也许如果他们有中心文字?现在按钮甚至没有match_parent。针对较低的SDK是否存在缺点(我现在不需要更高的价格)?我的应用程序仅在ICS或更高版本上运行。
答案 0 :(得分:2)
我创建了像instagram操作栏一样的标签你可以查看我以前的答案以及我是如何做到的。我正在使用手机,我无法在我的笔记本电脑上发布代码。无论如何只是检查我以前的答案。稍后我会再次访问并发布代码。
编辑------
Edit here is the image :).
再次以最佳结果:)。你需要做的第一件事是 创建一个布局名称header.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="@dimen/action_bar_height"
android:layout_gravity="top"
android:baselineAligned="true"
android:orientation="horizontal" >
<ImageView
android:id="@+id/share"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:layout_weight=".14"
android:background="@drawable/action_bar_left_button"
android:src="@drawable/action_bar_glyph_back" />
<ImageView
android:id="@+id/bright"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".14"
android:background="@drawable/action_bar_left_button"
android:src="@drawable/action_bar_glyph_lux" />
<ImageView
android:id="@+id/rotate"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".14"
android:background="@drawable/action_bar_left_button"
android:src="@drawable/rotate" />
<ImageView
android:id="@+id/bright"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".14"
android:background="@drawable/action_bar_left_button"
android:src="@drawable/action_bar_glyph_lux" />
<ImageView
android:id="@+id/rotate"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".14"
android:background="@drawable/action_bar_left_button"
android:src="@drawable/rotate" />
<ImageView
android:id="@+id/forwa"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".14"
android:background="@drawable/action_bar_left_button"
android:src="@drawable/forward" />
</LinearLayout>
之后转到MainActivity.class并创建此方法。
private void setupActionBar() {
ActionBar actionBar = getActionBar();
//actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
ViewGroup v = (ViewGroup)LayoutInflater.from(this)
.inflate(R.layout.header, null);
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM,
ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setCustomView(v,
new ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT,
ActionBar.LayoutParams.WRAP_CONTENT,
Gravity.CENTER_VERTICAL | Gravity.RIGHT));
}
将setupActionBar();
添加到您的onCreate活动并运行您的应用:)。
现在你有自定义ActionBar with Dividers and Images P.S分隔符在布局中被定义为图像背景:)。