actionbar返回按钮_Action软件

(3) 2024-06-17 12:23

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
actionbar返回按钮_Action软件,希望能够帮助你!!!。

创建actionbar的两种方式

两种方法,第一种是静态开启方法
把application 或者 activity的主题设置为Theme.Holo即可

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.baidu.homer" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="18"/> <application android:label="@string/app_name" android:icon="@drawable/ic_launcher" android:theme="@android:style/Theme.Holo"> <activity android:name="MyActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> </manifest>

第二种是动态开启

import android.app.ActionBar; import android.app.Activity; import android.drm.DrmStore; import android.os.Bundle; public class MyActivity extends Activity { /** * Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ActionBar actionBar = getActionBar(); actionBar.show(); } } 

使用ActionBar

开发API11以下的程序,首先必须在AndroidManifest.xml中指定Application或Activity的theme是Theme.Holo或其子类,否则将无法使用ActionBar。

2.1 创建Actions

Actions即ActionBar中的每个交互项,可以在代码中创建Action,也可以在XML文件中指定(位于res/menu)。在menu资源文件中定义Action的方法如下:

[java]  view plain
 copy

  1. <menu xmlns:android="http://schemas.android.com/apk/res/android" >  
  2.     <item  
  3.         android:id="@+id/action_refresh"  
  4.         android:orderInCategory="100"  
  5.         android:showAsAction="always"  
  6.         android:icon="@drawable/ic_action_refresh"  
  7.         android:title="Refresh"/>  
  8.     <item  
  9.         android:id="@+id/action_settings"  
  10.         android:title="Settings">  
  11.     </item>  
  12. </menu>   

showAsAction属性用来定义每个Action是如何显示的,always表示


永远显示在ActionBar中,如果屏幕空间不够则无法显示,ifRoom表示屏幕空间够的情况下显示在ActionBar中,不够的话就显示在overflow中,never则表示永远显示在overflow中。


在Activity中创建ctionBar的Action代码位于onCreateOptionsMenu()中,下面一段代码展示了创建过程:

[java]  view plain
 copy

  1. @Override  
  2.   public boolean onCreateOptionsMenu(Menu menu) {  
  3.     MenuInflater inflater = getMenuInflater();  
  4.     inflater.inflate(R.menu.mainmenu, menu);  
  5.     return true;  
  6.   }   

2.2 Action的按钮交互

如果一个Action被单击,对于activity中的onOptionsItemSelected()将被调用。该函数的传入参数是一个MenuItem。通过判断该MenuItem的Id,即可确认是哪个Action被单击。下面代码展示了该函数的使用过程。

[java]  view plain
 copy

  1. Override  
  2.   public boolean onOptionsItemSelected(MenuItem item) {  
  3.     switch (item.getItemId()) {  
  4.     // action with ID action_refresh was selected  
  5.     case R.id.action_refresh:  
  6.       Toast.makeText(this"Refresh selected", Toast.LENGTH_SHORT)  
  7.           .show();  
  8.       break;  
  9.     // action with ID action_settings was selected  
  10.     case R.id.action_settings:  
  11.       Toast.makeText(this"Settings selected", Toast.LENG  
  12.           .show();  
  13.       break;  
  14.     default:  
  15.       break;  
  16.     }  
  17.     return true;  
  18.   }   



onCreateOptionsMenu()只会被调用一次。若想改变Menu,可以调用invalidateOptionsMenu(),这会使onCreateOptionsMenu()将会再次被调用。

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复