活动设计缺少预览中的元素



我的应用程序在"设计"选项卡中运行到编辑时会有所不同。有什么原因是?一个示例是动作栏中未显示的选项。这是活动:

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;
    }
}

在这里,动作栏中的选项菜单未显示(其他所有内容都很好(。当我运行应用程序时,选项菜单会出现。知道为什么?

您是通过不通过XML设计覆盖的oncreateoptionsMenu创建选项菜单,这就是为什么它不在预览中显示的原因。

最新更新