码迷,mamicode.com
首页 > 移动开发 > 详细

Android界面编程--使用活动条(ActionBar)

时间:2018-03-05 22:29:57      阅读:291      评论:0      收藏:0      [点我收藏+]

标签:显示   text   imp   https   options   state   cte   actionbar   was   

ActionBar的使用

1.启动ActionBar(默认状态下是启动的)

  1.1 在Android配置文件(AndroidManifest.xml)中设置应用的主题为 ***.NoActionBar

       1.2 在代码中控制ActionBar的启动

    书上用getActionBar()写的,但我试试的时候总是获取不到,actionBar一直是空的

    问题解决:https://stackoverflow.com/questions/6867076/getactionbar-returns-null(不同的activity要用不同的方式获取???)

    getSupportActionBar能成功获取ActionBar;

public class MainActivity extends AppCompatActivity {

    ActionBar actionBar;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获得ActionBar
        actionBar = getSupportActionBar();
        Log.v("z",getSupportActionBar()+"");
    }
    public void hideActionBar(View view)
    {
        actionBar.hide();
    }
    public void showActionBar(View view)
    {
        actionBar.show();
    }
}    

 

    *******在布局页面能直接在button中注册onclick事件***********

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="hideActionBar"
        android:onClick="hideActionBar"/>

 2.使用ActionBar显示菜单选项

  2.1 app:showasaction 和 android:showasaction的区别:http://www.cnblogs.com/liaojie970/p/5718901.html

  2.2 资源文件写了,但不显示在actionbar上面:

       这个遇到了问题,想不明白,,,,

  问题找到解决办法了:http://blog.csdn.net/huwei0518/article/details/48834795

  MenuItemCompat.setShowAsAction(menu.findItem(R.id.action),MenuItemCompat.SHOW_AS_ACTION_ALWAYS);(加了这么一段代码)

  /** * 加载菜单 * * @param menu * @return */
@Override public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater inflater = new MenuInflater(this); //装填R.menu.my_menu对应的菜单,并添加到menu
inflater.inflate(R.menu.actionbar, menu);
MenuItemCompat.setShowAsAction(menu.findItem(R.id.action),MenuItemCompat.SHOW_AS_ACTION_ALWAYS);
return
super.onCreateOptionsMenu(menu);
}

  overflow就是actionbar上面的三个点,点击后会出现菜单

  

  这个问题花了不少时间才找到解决办法,但原理不是很懂,,,(出现这个问题的原因好像是V4和V7的问题,,,import android.support.v4.view.MenuItemCompat;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
)

  代码参考:https://www.aliyun.com/jiaocheng/71385.html

3

Android界面编程--使用活动条(ActionBar)

标签:显示   text   imp   https   options   state   cte   actionbar   was   

原文地址:https://www.cnblogs.com/xiaochenztx/p/8507559.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!