下面是相關主題http://developer.android.com/guide/topics/ui/actionbar.html#ActionItemsAndroid 3.0的:不能風格的動作欄的操作項按鈕
開發者指南因此,我們必須在活動
public class MyActivity extends Activity {
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.my_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.first_menu_button:
return true;
case R.id.second_menu_button:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
哪裏R.menu.my_menu是
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/first_menu_button"
android:showAsAction="always"
android:icon="@drawable/btn_first"/>
<item
android:id="@+id/second_menu_button"
android:showAsAction="always"
android:icon="@drawable/btn_second"/>
</menu>
風格的按鈕http://developer.android.com/guide/topics/ui/actionbar.html#ActionItemStyles說我們應該使用android:actionButtonStyle屬性。我已經做了這樣的:
在清單:
<activity android:name="com.root.test.MyActivity"
android:theme="@style/CustomActionBarStyle"
</activity>
在styles.xml:
<style name="CustomActionBarStyle" parent="@android:style/Theme.Holo.Light">
<item name="android:actionButtonStyle">@style/customActionButtonStyle</item>
<item name="android:windowActionBar">true</item>
<item name="android:windowNoTitle">false</item>
</style>
<style name="customActionButtonStyle" parent="@android:style/Widget.Holo.Light.ActionButton">
<item name="android:[...]
</style>
問題是,無論我在寫customActionButtonStyle
,它只是忽略它。 CustomActionBarStyle
作品中的其他作品(更爲複雜,爲了簡單起見,它們只是省略)。我的主要內容是設置自定義填充。有沒有其他方法可以做到這一點,就像其他的一樣,不是android:actionButtonStyle
屬性?或者有人知道如何獲得這項工作? (僅在3.1中添加了android:abItemPadding屬性)
謝謝。
所以沒有辦法來設置這些參數programaticly這樣的成分,唯一的辦法就是使用一些其他構建元素? – Aleksey
不是沒有一些非常可惡的黑客攻擊,很可能會從版本到版本。 :)就像我說過的,爲了與系統的其他部分保持一致,你應該保留這些東西。 – adamp
謝謝你的解釋 – Aleksey