是否有一种简单的方法可以将按钮添加到儿童活动的操作栏中?

时间:2019-07-04 21:10:40

标签: java android xml

我正在尝试将按钮添加到子活动的android studio应用程序的操作栏中,但是我只能设法将其添加到主活动中。有人知道我该怎么做吗?

我希望“ OK”按钮位于以橙色绘制的位置。

带有操作栏的主要活动。 main activity with action bar

带有活动栏的儿童活动 child activity with action bar

3 个答案:

答案 0 :(得分:1)

您不必使用操作栏。您只能使用所需背景色的视图。将按钮设置在彩色区域上方之后。

n Android Studio:

Values>样式

使用此:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

代替

 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

返回您的布局:

// Change your background with LinearLayout's background propoerty
   <LinearLayout
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:orientation="horizontal"

       android:background="#FFA908"


       >


       // You can put here whatever you want. İf you wish image or button.



       <Button
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="Example"
           android:layout_gravity="center"
           android:layout_marginLeft="200dp"
           />

       <Button
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="Example"
           android:layout_gravity="center"
           />



   </LinearLayout>

您可以像这样使用。您无需使用操作栏。而且,您可以轻松创建所需的任何内容。

答案 1 :(得分:1)

您应该为自己的活动创建一个菜单:

res -> 菜单内部,选择-> 菜单资源文件 New Menu resource file

在新菜单xml文件中,编写以下内容:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/menu_action_ok"
        android:title="Ok"
        app:showAsAction="ifRoom" />
</menu>

基本上,您正在创建带有名为“确定”的选项的菜单,但是如果需要,可以有更多选项。 如果需要,您还可以自定义此选项的视图:

app:actionLayout="@layout/filter_ka"

在您的父母活动中:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu.
    getMenuInflater().inflate(R.menu.menu_test, menu);
    return true;
}

R.menu。 menu_test 是菜单文件的名称。

最后要获得菜单选项的点击,您应该覆盖以下功能:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();


    if (id == R.id.menu_action_ok) {
        //Your code
        return true;
    }
    return super.onOptionsItemSelected(item);
}

现在您应该有一个像这样的菜单:

enter image description here

答案 2 :(得分:1)

您必须为此创建一个菜单。假设您创建add_menu

<?xml version="1.0" encoding="utf-8"?>
<menu
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/action_add"
        android:title="ADD"
        app:showAsAction="ifRoom"/>

</menu>

创建菜单后,使用以下方法将其添加到您的子活动中。

   @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.add_menu, menu);
        return true;
    }