标签:
1. 引用v7-appcompat 库3. android:theme="@style/Theme.AppCompat.Light" >
4.res/menu中的布局改为
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
<!-- Search, should appear as action button -->
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
yourapp:showAsAction="ifRoom"
yourapp:actionViewClass="android.support.v7.widget.SearchView"/>
</menu>xmlns:yourapp="http://schemas.android.com/apk/res-auto" >是为了向下兼容(3.0之前版本)
5.搜索功能
Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
SearchView searchView = (SearchView) menu.findItem(R.id.action_search)
.getActionView();
searchView.setOnQueryTextListener(this);// 搜索的监听
return true;
}
// 当搜索提交的时候
@Override
public boolean onQueryTextSubmit(String query) {
Toast.makeText(getApplicationContext(), query, 0).show();
return true;
}
// 当搜索的文本发生变化
@Override
public boolean onQueryTextChange(String newText) {
//Toast.makeText(getApplicationContext(), newText, 0).show();
return true;
}/** 处理actionBar菜单条目的点击事件 */
<span style="white-space:pre"> </span>public boolean onOptionsItemSelected(MenuItem item) {
<span style="white-space:pre"> </span>if (item.getItemId() == R.id.action_search) {
<span style="white-space:pre"> </span>Toast.makeText(getApplicationContext(), "搜索", 0).show();
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>return drawerToggle.onOptionsItemSelected(item)|super.onOptionsItemSelected(item);
<span style="white-space:pre"> </span>}
6.返回按钮处理,在oncreate中
ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(true);//返回按钮可以被点击 actionBar.setHomeButtonEnabled(true);
<activity android:name=".DetailActivity" android:label="@string/app_detail" android:parentActivityName="com.xxx.MainActivity" > <!-- Parent activity meta-data to support 4.0 and lower --> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.xxx.MainActivity" /> </activity>lable优先使用自己配置的title。
7.实现ActionBar Tab标签(类似indicator)
①在Drawable 目录下 写了一个标签的状态选择器
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- STATES WHEN BUTTON IS NOT PRESSED -->
<!-- Non focused states -->
<item android:state_focused="false" android:state_selected="false"
android:state_pressed="false"
android:drawable="@drawable/tab_unselected" />
<item android:state_focused="false" android:state_selected="true"
android:state_pressed="false"
android:drawable="@drawable/tab_selected" />
<!-- Focused states (such as when focused with a d-pad or mouse hover) -->
<item android:state_focused="true" android:state_selected="false"
android:state_pressed="false"
android:drawable="@drawable/tab_unselected_focused" />
<item android:state_focused="true" android:state_selected="true"
android:state_pressed="false"
android:drawable="@drawable/tab_selected_focused" />
<!-- STATES WHEN BUTTON IS PRESSED -->
<!-- Non focused states -->
<item android:state_focused="false" android:state_selected="false"
android:state_pressed="true"
android:drawable="@drawable/tab_unselected_pressed" />
<item android:state_focused="false" android:state_selected="true"
android:state_pressed="true"
android:drawable="@drawable/tab_selected_pressed" />
<!-- Focused states (such as when focused with a d-pad or mouse hover) -->
<item android:state_focused="true" android:state_selected="false"
android:state_pressed="true"
android:drawable="@drawable/tab_unselected_pressed" />
<item android:state_focused="true" android:state_selected="true"
android:state_pressed="true"
android:drawable="@drawable/tab_selected_pressed" />
</selector>②实现自定义主题 them.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <!-- the theme applied to the application or activity --> <style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light"> <item name="android:actionBarTabStyle">@style/MyActionBarTabs</item> <!-- Support library compatibility --> <item name="actionBarTabStyle">@style/MyActionBarTabs</item> </style> <!-- ActionBar tabs styles --> <style name="MyActionBarTabs" parent="@style/Widget.AppCompat.ActionBar.TabView"> <!-- tab indicator --> <item name="android:background">@drawable/actionbar_tab_indicator</item> <!-- Support library compatibility --> <item name="background">@drawable/actionbar_tab_indicator</item> </style> </resources>
android:theme="@style/CustomActionBarTheme"③在代码中添加
ActionBar actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
Tab tab1=actionBar.newTab().setText("标签一").setTabListener(new MyTabListener());
actionBar.addTab(tab1);
标签:
原文地址:http://blog.csdn.net/gaobaoshen1/article/details/51350690