活动设计缺少预览

时间:2017-05-03 04:31:48

标签: android android-studio

在设计标签中进行编辑时,我的应用程序有所不同。这是什么原因?一个例子是ActionBar中没有显示的选项。这是活动:

activity_home.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#fafafa">


    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@drawable/gradient"
        android:elevation="4dp"
        android:textAlignment="center"
        android:theme="@style/ThemeOverlay.AppCompat.ActionBar" />

    <Button
        android:id="@+id/button2"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:text="text"
        android:textSize="22dp"
        android:padding="10dp"
        android:gravity="center"
        android:layout_gravity="center_horizontal"
        android:background="@color/colorPrimaryDark"
        android:layout_centerInParent="true"
        />

</RelativeLayout>

home_menu.xml

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

</menu>

home.java

public class Home extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);


    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.home_menu, menu);
        return true;
    }

}

此处ActionBar中的“选项”菜单未显示(其他一切显示正常)。当我运行应用程序时,选项菜单正常。知道为什么吗?

1 个答案:

答案 0 :(得分:0)

您正在通过覆盖onCreateOptionsMenu而不是通过XML设计来创建“选项”菜单,这就是为什么它不会在预览中显示...如果要删除的内容选项菜单只是删除该覆盖方法