編輯:Android開發實例
對於ActionView,我們可以在menu的布局文件使用中來自定義searchview布局,如代碼
<item android:id="@+id/menu_search"
android:title="Search"
android:icon="@drawable/ic_menu_search"
android:showAsAction="ifRoom"
android:actionLayout="@layout/searchview" />
也可以直接指定Android系統中的SearchView控件,那麼這時menu"_search的代碼要這樣寫
<item android:id="@+id/menu_search"
android:title="Search"
android:icon="@drawable/ic_menu_search"
android:showAsAction="ifRoom"
android:actionViewClass="android.widget.SearchView" />
大家注意上面的兩種方法中一個屬性是actionLayout制定一個layout xml布局文件,一個是actionViewClass指定一個類,最終調用可以在Activity中響應onCreateOptionsMenu方法映射這個menu布局即可。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.options, menu);
SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
return super.onCreateOptionsMenu(menu);
}
展示效果都是默認iconified的,縮起來無美感
想讓它expanded。在SearchView中看到有個public method:
void setIconified(boolean iconify)
(iconifies or expands the searchview)
於是果斷選擇自定義searchView
新建@layout/searchview
<SearchView android:id="@+id/searchview" android:layout_width="match_parent" android:layout_height="match_parent" android:iconifiedByDefault="false"> </SearchView>
在menu中android:layout="@layout/searchview"
在代碼中,因為searchview放在menu中,所以真實代碼如下
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // TODO Auto-generated method stub
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.menu, menu);
- return super.onCreateOptionsMenu(menu);
- }
本文要演示的Android開發實例是如何完成一個Android中的miniTw
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
(效果如上圖所示) 其實很簡單: 比方說上面的容器是一個ListView 代碼如下: <ListView android:id=@+id/listView
Android提供了許多方法來控制播放的音頻/視頻文件和流。其中該方法是通過一類稱為MediaPlayer。Android是提供MediaPlayer類訪問內置的媒體播放