在 Google+ 应用程序中,右上角箭头的位置会ActionBar
Spinner
适应当前显示的字符串的长度。例如,选择Family时 Spinner 的长度似乎比选择 Acquaintances 时短。
我该怎么做才能让右角箭头根据标题的长度动态定位?我的猜测是我可以在styles.xml中设置一个属性来为我做这件事。
这是我的styles.xml:
<style name="MyStyle" parent="android:style/Theme.Holo">
<item name="android:actionDropDownStyle">@style/MyDropDownNav</item>
</style>
<style name="MyDropDownNav" parent="android:style/Widget.Holo.Spinner">
<item name="android:AttributeHere">AttributeValue</item>
</style>
这是我在 MainActivity.java 中的代码:
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
// Specify a SpinnerAdapter to populate the dropdown list.
SpinnerAdapter dataAdapter = new ArrayAdapter<String>(
actionBar.getThemedContext(),
android.R.layout.simple_list_item_1, android.R.id.text1,
new String[] { "AAAAAAAAAAAAAAA", "BB" });
// Set up the dropdown list navigation in the action bar.
actionBar.setListNavigationCallbacks(dataAdapter, this);
与 Google+ 不同,我的右上角箭头的位置始终是固定的。因此,如果我从下拉列表中选择“AAAAAAAAAAAAAAA”到“BB”,箭头根本不会移动。