博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android ActionBar UI 使用<二>
阅读量:6513 次
发布时间:2019-06-24

本文共 5996 字,大约阅读时间需要 19 分钟。

ActionBar

菜单项过多溢出

       当创建一个ActionBar拥有太多的Action item以至于没有足够的控件来显示会在屏幕的右上角出现一个溢出菜单项,可以通过它来访问溢出部分菜单。
       代码示例:
       溢出菜单xml
 
package com.example.androidactionbartest;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.MenuInflater;public class MainActivity extends Activity {        /** Called when the activity is first created. */        @Override        public void onCreate(Bundle savedInstanceState) {            super.onCreate(savedInstanceState);            setContentView(R.layout.activity_main);        }        @Override        public boolean onCreateOptionsMenu(Menu menu)        {            MenuInflater inflater = getMenuInflater();            inflater.inflate(R.menu.optionsmenu, menu);            return true;        }    }
View Code
View Code

 

 

添加活动视图

  1.         我们也可以添加一个视图作为一个Action Item.我们可以通过在xml元素的android:actionLayout属性制定我们希望现实布局资源的ID(例如@layout/mysearchview)
  2.         我们可以选择添加android:actionViewClass属性分配与完全限定的类名描述我们想要显示的视图(例如android.widget.SearchView)
代码示例:
optionsmenu.xml
View Code

java程序:

package com.example.androidactionbartest;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.MenuInflater;public class MainActivity extends Activity {        /** Called when the activity is first created. */        @Override        public void onCreate(Bundle savedInstanceState) {            super.onCreate(savedInstanceState);            setContentView(R.layout.activity_main);        }        @Override        public boolean onCreateOptionsMenu(Menu menu)        {            MenuInflater inflater = getMenuInflater();            inflater.inflate(R.menu.optionsmenu, menu);            return true;        }    }
View Code

 

 

ActionBar 标签

    1.         ActionBar可以现实选项卡供用户切换浏览该Activity中不同的Fragment
    2.         每个标签都可以是一个图标或文本标

主程序:

 

package com.example.androidactionbartest;import android.os.Bundle;import android.annotation.SuppressLint;import android.app.ActionBar;import android.app.ActionBar.Tab;import android.app.Activity;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentTransaction;import android.view.Menu;import android.view.MenuInflater;public class MainActivity extends Activity {        /** Called when the activity is first created. */        @SuppressLint("NewApi")        @Override        public void onCreate(Bundle savedInstanceState)        {            super.onCreate(savedInstanceState);            setContentView(R.layout.activity_main);            ActionBar bar = getActionBar();            bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);            final ActionBar.Tab tabA = bar.newTab().setText("A Tab");            final ActionBar.Tab tabB = bar.newTab().setText("B Tab");            final ActionBar.Tab tabC = bar.newTab().setText("C Tab");            final Fragment fragmentA = new AFragmentTab();            final Fragment fragmentB = new BFragmentTab();            final Fragment fragmentC = new CFragmentTab();                        tabA.setTabListener(new MyTabsListener(fragmentA));            tabB.setTabListener(new MyTabsListener(fragmentB));            tabC.setTabListener(new MyTabsListener(fragmentC));            bar.addTab(tabA);            bar.addTab(tabB);            bar.addTab(tabC);        }                @SuppressLint("NewApi")        protected class MyTabsListener implements ActionBar.TabListener        {            private Fragment fragment;            public MyTabsListener(Fragment fragment)            {                this.fragment = fragment;            }            public void onTabSelected(Tab tab, FragmentTransaction ft)            {                ft.add(R.id.fragment_place, fragment, null);            }            @Override            public void onTabReselected(Tab arg0,                    android.app.FragmentTransaction arg1) {                // TODO Auto-generated method stub                            }            @Override            public void onTabSelected(Tab arg0,                    android.app.FragmentTransaction arg1) {                // TODO Auto-generated method stub                            }            @Override            public void onTabUnselected(Tab arg0,                    android.app.FragmentTransaction arg1) {                // TODO Auto-generated method stub                            }        }            }
View Code

 

其余三个类:

package com.example.androidactionbartest;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public class AFragmentTab extends Fragment{    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container,            Bundle savedInstanceState)    {        return inflater.inflate(R.layout.fragment_a, container, false);    }}
View Code
package com.example.androidactionbartest;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public class BFragmentTab extends Fragment{    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container,            Bundle savedInstanceState)    {        return inflater.inflate(R.layout.fragment_b, container, false);    }}
View Code
package com.example.androidactionbartest;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public class CFragmentTab extends Fragment{    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container,            Bundle savedInstanceState)    {        return inflater.inflate(R.layout.fragment_c, container, false);    }}
View Code

另外fragment_a,fragment_b,fragment_c三个layout xml,此处只是新建这三个,没有什么内容.

 

 

 

 

 

 

 

 

 

 

 

 

转载地址:http://geifo.baihongyu.com/

你可能感兴趣的文章
SASS环境搭建及HBuilder中sass预编译配置
查看>>
有关方法重载的实例(例4-10)
查看>>
[转]Letter to a Young Developer
查看>>
[转]Linux 2.6.19.x 内核编译配置选项简介
查看>>
js 数组遍历for..in弊端
查看>>
登录PL/SQL无法登录,提示错误:ORA-01017: invalid username/password; logon denied 错误
查看>>
js document对象
查看>>
session 和 application 区别
查看>>
6.1 引言-系统数据文件和信息
查看>>
test
查看>>
面试总结之指针
查看>>
Python面试题汇总
查看>>
CCF NOI1023 最大跨度
查看>>
POJ NOI0105-34 求阶乘的和
查看>>
HDU1868 Consecutive sum【数学计算+枚举】
查看>>
服务器框架回顾
查看>>
图片相关
查看>>
aria初探(一)
查看>>
JS中Module模式基本和高级用法
查看>>
websocket笔记
查看>>