如何得到一個listdropdown點擊sherlock行動item.It應該是類似於創建微調。但我有這種方法的問題,因爲我不想要在操作欄上顯示選定的項目。它應該是相似的行動overflow.Can任何幫助我這一點。提前感謝。listview作爲行動溢出sherlock actionbar
3
A
回答
3
您可以在菜單項的操作佈局中使用Spinner
(或IcsSpinner
對於ActionBarSherlock
)創建此類行爲。儘管你必須使用一些小技巧 - 隱藏當前選中的項目。
創建菜單的xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/item1"
android:actionLayout="@layout/my_dropdown_action_layout"
android:showAsAction="always"/>
凡res/layout-v14/my_dropdown_action_layout.xml
將包含(此版本用於本地操作欄):
<?xml version="1.0" encoding="utf-8"?>
<Spinner xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="?attr/actionBarItemBackground"
android:id="@+id/spinner"/>
和res/layout/my_dropdown_action_layout.xml
將包含(此版本用於ActionBarSherlock
):
<?xml version="1.0" encoding="utf-8"?>
<com.actionbarsherlock.internal.widget.IcsSpinner
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="?attr/actionBarItemBackground"
android:id="@+id/spinner"/>
使用IcsSpinner
是創建下拉微調器所必需的。如果您使用res/layout-v14/my_dropdown_action_layout.xml
佈局作爲默認版本(在res/layout/
中),它在Android 2.x上的表現會有所不同(微調控制器將處於對話模式)。
現在您必須正確填寫數據。只需創建一個Activity
,你吹的菜單,是這樣的:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.my_menu, menu);
MenuItem menuItem = menu.findItem(R.id.item1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinner_layout, R.id.text, items);
adapter.setDropDownViewResource(R.layout.list_item);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
// native ActionBar
Spinner sp = (Spinner) menuItem.getActionView();
sp.setAdapter(adapter);
} else {
// ActionBarSherlock
IcsSpinner sp = (IcsSpinner) menuItem.getActionView();
sp.setAdapter(adapter);
}
return super.onCreateOptionsMenu(menu);
}
現在來隱藏當前所選項目的伎倆。佈局res/layout/spinner_layout.xml
將包含此:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@null">
<TextView
android:layout_width="0dp"
android:layout_height="0dp"
android:id="@+id/text"
android:visibility="invisible"/>
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/my_dropdown_icon"
android:background="@null"/>
</FrameLayout>
這樣,你看到一個圖標的菜單項,你有下拉菜單。請注意,版面res/layout/list_item.xml
也必須包含TextView
,其ID爲R.id.text
。
或者,您可以使用類似的方法,您可以使用ActionProvider
而不是操作佈局。
另一種解決方案是創建類似於下拉菜單Spinner
的自定義小部件。
相關問題
- 1. Actionbar Sherlock
- 2. Android ActionBar Sherlock沒有出現
- 3. ActionBar Sherlock SwitchWidget
- 4. 造型ActionBar Sherlock
- 5. Android Sherlock ActionBar OnCreateOption
- 6. Sherlock Actionbar invalidateOptionsMenu()
- 7. ActionBar Sherlock - 在Actionbar中的Backgroundimage
- 8. ActionBar Sherlock + MapView。行動酒吧沒有出現。
- 9. Android Sherlock Actionbar新手
- 10. ActionBar Sherlock,Fragment and SearchWidget
- 11. android sherlock actionbar菜單項出錯
- 12. ActionBar溢出沒有出現
- 13. Sherlock Actionbar突然停止工作
- 14. Android ActionBar Sherlock滑動手勢識別器
- 15. 將actionbar sherlock設置爲底部
- 16. ActionBar Sherlock菜單項OnClick
- 17. NoActionBar相當於Sherlock ActionBar
- 18. android Sherlock ActionBar殺死資源
- 19. 底部的ActionBar Sherlock標籤
- 20. ActionBar片段上的Sherlock ViewPager
- 21. ActionBar Sherlock造型問題
- 22. ActionBar Sherlock與Android Studio 0.2.2
- 23. 爲什麼actionbar sherlock沒有出現在2.1中?
- 24. sherlock動作欄視圖
- 25. ActionBar溢出菜單手動執行樣式信息
- 26. ActionBarSherlock溢出的ListView
- 27. Android ListView滾動到ActionBar
- 28. Sherlock動作欄出現兩次
- 29. 如何將Sherlock ActionBar放入片段?
- 30. 使用ActionBar的首選項屏幕Sherlock