Bar*_*ney 5 android android-ui android-spinner android-actionbar
在Google+应用中,右角箭头的位置ActionBar Spinner适应当前字符串显示的长度.例如,当选择" 家庭"时,与选择" 熟人"时相比,Spinner的长度似乎更短.
我需要做什么才能让右角箭头根据标题的长度动态定位?我的猜测是我可以在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>
Run Code Online (Sandbox Code Playgroud)
这是我在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);
Run Code Online (Sandbox Code Playgroud)
与Google+不同,我的右箭头的位置始终是固定的.因此,如果我从下拉列表中选择"AAAAAAAAAAAAAAA"到"BB",则箭头根本不会移动.
小智 1
请参考 android pure 的代码Calendar,在它的适配器中,getView()总是返回当前项Calendar,使得 的宽度Spinner等于当前项。实际上,Spinner宽度ActionBar总是按其最长项的长度计算。Calendar这里做了一些特殊的处理。
| 归档时间: |
|
| 查看次数: |
1378 次 |
| 最近记录: |