actionbar

来源:互联网 发布:淘宝卖家详情页尺寸 编辑:程序博客网 时间:2024/06/06 09:21

1 actionbar 布局:

<span style="font-size:14px;"><menu xmlns:android="http://schemas.android.com/apk/res/android" >    <!-- Search, should appear as action button -->    <item android:id="@+id/action_search"          android:icon="@drawable/ic_action_search"          android:title="@string/action_search"          android:showAsAction="ifRoom"          android:actionViewClass="android.widget.SearchView"/>         <为了出现seatchview>    <!-- Settings, should always be in the overflow -->    <item android:id="@+id/action_settings"          android:title="@string/action_settings"          android:showAsAction="never" /></menu></span>

2 java代码:

          

@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.main, menu);SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();                    (搜索功能)searchView.setOnQueryTextListener(this);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {switch (item.getItemId()) {case R.id.action_search:openSearch();return true;case R.id.action_settings:openSettings();return true;default:return super.onOptionsItemSelected(item);}}private void openSettings() {Toast.makeText(MainActivity.this, "我是 setting", 0).show();}private void openSearch() {Toast.makeText(MainActivity.this, "我是 search", 0).show();}// 搜索提交的时候@Overridepublic boolean onQueryTextSubmit(String query) {return true;}// 当搜索的文本发生变化@Overridepublic boolean onQueryTextChange(String newText) {return false;}

3 改变actionbar的颜色

 <style name="CustomActionBarTheme"
           parent="@android:style/Theme.Holo.Light.DarkActionBar">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
    </style>

    <!-- ActionBar styles -->
    <style name="MyActionBar"
           parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
        <item name="android:background">#ff0000</item>
    </style>

最后在清单文件中使用 thems

 android:theme="@style/CustomActionBarTheme" >

4 添加返回按钮

       ActionBar actionBar = getActionBar();
        // 显示反回箭头
        actionBar.setDisplayHomeAsUpEnabled(true);

         @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item.getItemId()==android.R.id.home) {
            startActivity(new Intent(DetailActivity.this, MainActivity.class));
        }
        return super.onOptionsItemSelected(item);
    }     

   或者直接在清单文件中配置

 

 <activity        android:name="com.example.myfirstapp.DisplayMessageActivity"        android:label="@string/title_activity_display_message"        android:parentActivityName="com.example.myfirstapp.MainActivity" >

5 修改 title

 android:name="com.niebiao.googleplay.DetailActivity"            android:label="@string/detail_lab">        actionbar优先使用label

6 标题title颜色

<?xml version="1.0" encoding="utf-8"?><resources>    <!-- the theme applied to the application or activity -->    <style name="CustomActionBarTheme"           parent="@style/Theme.Holo">        <item name="android:actionBarStyle">@style/MyActionBar</item>        <item name="android:actionBarTabTextStyle">@style/MyActionBarTabText</item>        <item name="android:actionMenuTextColor">@color/actionbar_text</item>    </style>    <!-- ActionBar styles -->    <style name="MyActionBar"           parent="@style/Widget.Holo.ActionBar">        <item name="android:titleTextStyle">@style/MyActionBarTitleText</item>    </style>    <!-- ActionBar title text -->    <style name="MyActionBarTitleText"           parent="@style/TextAppearance.Holo.Widget.ActionBar.Title">        <item name="android:textColor">@color/actionbar_text</item>    </style>    <!-- ActionBar tabs text styles -->    <style name="MyActionBarTabText"           parent="@style/Widget.Holo.ActionBar.TabText">        <item name="android:textColor">@color/actionbar_text</item>    </style></resources>


 
0 0
原创粉丝点击