温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Thinking in Google Doc - ActionBar讲解

发布时间:2020-06-18 11:26:07 来源:网络 阅读:308 作者:屠夫章哥 栏目:移动开发

对于ActionBar,谷歌文档介绍了2种写法,其中2.1是带v7包。


     对于3.0(使用系统自带的主题)    ---带应用的icon

       If you've created a custom theme, be sure it uses one of the Theme.Holo themes 

       as its parent.

      android:theme="@android:style/Theme.Holo"     


     

     对于2.1带v7包(使用v7包里的主题)   ---不带应用的icon 

     第1:Activity要继承自ActionBarActivity

     第2:Activity的主题必须是AppCompat

       <activity android:theme="@style/Theme.AppCompat.Light" ... >

         public class MainActivity extends ActionBarActivity { ... }


     千万要注意的问题:AppCompatActivity必须与AppCompat的主题配合使用,不能混搭。


>>>>对于使用了支持库的,有一个问题需要注意一下:

  只有AppComatActivity才有showAsAction这个属性,Activity只有菜单,并不会将菜单里的条目做

 成Action。

If your app is using the Support Library for compatibility on versions as low as Android 2.1, the showAsAction attribute is not available from the android: namespace. Instead this attribute is provided by the Support Library and you must define your own XML namespace and use that namespace as the attribute prefix. (A custom XML namespace should be based on your app name, but it can be any name you want and is only accessible within the scope of the file in which you declare it.) For example:

res/menu/main_activity_actions.xml

<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"  />
    ...
</menu>


>>>>为Activity增加返回按钮:

 方式1:隐式的进行绑定

   先配置Activity,包括它的父Activity(也就是它返回跳转到的那个Activity)

<!-- A child of the main activity -->
<activity
   android:name=".Activity2"
   android:label="@string/title_activity_display_message"
   android:parentActivityName=".MainActivity" >
   <!-- Parent activity meta-data to support 4.0 and lower -->
   <meta-data
       android:name="android.support.PARENT_ACTIVITY"
       android:value=".MainActivity" />
</activity>

    然后

(Bundle savedInstanceState) {
    .onCreate(savedInstanceState)setContentView(R.layout.)getSupportActionBar().setDisplayHomeAsUpEnabled()}

 
》》Styling the Action Bar(做出有风格的ActionBar)

 1.Use an Android Theme     

   ###不使用支持库的情况


    • Theme.Holo for a "dark" theme.          工具栏和主面板都是黑色主题(API11)

    • Theme.Holo.Light for a "light" theme.     工具栏和主面板都是白色主题 (API11) 

    • Theme.Holo.Light.DarkActionBar         工具栏为黑色,主面板为白色(API14


      When using the Support Library, you must instead use theTheme.AppCompat themes: 


    • Theme.AppCompat for the  "dark" theme.

    • Theme.AppCompat.Light  for the "light" theme.

    • Theme.AppCompat.Light.DarkActionBar for the light theme with a dark action bar

 2.Customize the Background


 3.Customize the Text Color

 

 4.Customize the Tab Indicator

 上面的我也没有写,具体请看谷歌文档Develop-Training-Adding Action Bar-Styling the ActionBar


>>Overlaying the Action Bar(使ActionBar堆叠在主面板之上)

 这样做的好处:一旦ActionBar hide或者show的时候,不会引起主界面的重绘,效率高。

 需要考虑的一个问题:主面板要设置个margin,不让ActionBar遮盖住主界面。

android:paddingTop="?android:attr/actionBarSize"


  

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI