动作提供者(ActionProvider)在动作栏中的使用
来源:互联网 发布:旅行商问题的退火算法 编辑:程序博客网 时间:2024/06/18 12:03
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="match_parent" android:orientation="vertical" style="?android:attr/actionButtonStyle" android:layout_gravity="center" android:addStatesFromChildren="true" android:background="?android:attr/actionBarItemBackground" android:focusable="true"> <ImageButton android:id="@+id/button" android:layout_width="48dip" android:layout_height="48dip" android:layout_gravity="center" android:adjustViewBounds="true" android:background="@drawable/ic_launcher" android:contentDescription="设置" android:scaleType="fitCenter"/> </LinearLayout>
在res/menu/main.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/menu_item_action_provider_action_bar" android:actionProviderClass="com.example.demoactionprovider.SettingsActivity$SettingsActionProvider" android:showAsAction="ifRoom" android:title="设置1"/> <item android:id="@+id/menu_item_action_provider_overflow" android:actionProviderClass="com.example.demoactionprovider.SettingsActivity$SettingsActionProvider" android:showAsAction="never" android:title="设置2"/></menu>
SettingsActivity.java:
package com.example.demoactionprovider;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.provider.Settings;import android.view.ActionProvider;import android.view.LayoutInflater;import android.view.Menu;import android.view.View;import android.widget.ImageButton;public class SettingsActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}public static class SettingsActionProvider extends ActionProvider{private static final Intent settingsIntent = new Intent(Settings.ACTION_SETTINGS);private Context context;public SettingsActionProvider(Context context){super(context);this.context = context;}public View onCreateActionView(){LayoutInflater inflater = LayoutInflater.from(context);View view = inflater.inflate(R.layout.action_provier, null);ImageButton button = (ImageButton)view.findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {context.startActivity(settingsIntent);}});return view;}public boolean onPerformDefaultAction(){context.startActivity(settingsIntent);return true;}}}
0 0
- 动作提供者(ActionProvider)在动作栏中的使用
- 动作视图在动作栏中的使用
- Tab在动作栏中的使用
- cocos2dx中的动作使用
- cocos2dx 中的动作机制 动作在引擎中的行为
- 动作使用
- 动作
- 动作
- 动作
- 动作
- 在PPT中使用动作设置功能
- 日语中的常用动作
- cocos2d-x中的动作
- jsp中的标准动作
- luci map 中的动作
- Jsp中的动作标识
- JSP中的标准动作
- JSP中的动作
- 找工作这几天感受
- HDOJ2524 矩形A + B
- Windows 7远程桌面登录时崩溃
- Linux 汇编语法和简单实例
- hdu4858
- 动作提供者(ActionProvider)在动作栏中的使用
- 设计模式C++实现(10)——桥接模式
- js原型
- I004-黑马程序员_毕向东_Java基础视频教程第01天-04-Java环境搭建(环境变量配置)
- C++中const用法浅析
- hdu3466
- Tesseract3.02训练生成新的识别语言库的详细步骤
- 黑马程序员——Java语言概述
- 高效JQuery代码编写