Android ActionBar的使用

ActionBar

  1. 引用v7-appcompat
  2. Activity继承ActionBarActivity
  3. android:theme="@style/Theme.AppCompat.Light" >

搜索

  1. yourapp:actionViewClass="android.support.v7.widget.SearchView"

  2.   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;
    }
    
  3.   // 当搜索提交的时候
    @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;
    }
    

返回按钮的处理

1

    ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);

2

     <activity  android:name=".DetailActivity"
        android:label="@string/app_detail"
         android:parentActivityName="com.itheima.googleplay.MainActivity"
        >
         <!-- Parent activity meta-data to support 4.0 and lower -->
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="com.itheima.googleplay.MainActivity" />
    </activity>

实现ActionBar Tab标签

1 在Drawable 目录下 写了一个标签的状态选择器

2 实现自定义主题

    <?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>

3 在代码里添加标签

    ActionBar actionBar = getSupportActionBar();
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    Tab tab1=actionBar.newTab().setText("标签一").setTabListener(new MyTabListener());
    actionBar.addTab(tab1);

你可能感兴趣的:(Android ActionBar的使用)