Java 在emulator中运行时,按钮消失

Java 在emulator中运行时,按钮消失,java,android,android-emulator,Java,Android,Android Emulator,正如标题所示。按钮在Android Studio中清晰可见。我运行模拟器,它就消失了。 我已经做了很多搜索,但似乎找不到具体案例的解决方案。请你看一下,看能不能找到我看不见的东西 activity_main.xml: <Button android:id="@+id/searchBtn" android:layout_width="300dp" android:layout_height="50dp" android:layo

正如标题所示。按钮在Android Studio中清晰可见。我运行模拟器,它就消失了。 我已经做了很多搜索,但似乎找不到具体案例的解决方案。请你看一下,看能不能找到我看不见的东西

activity_main.xml:

<Button
        android:id="@+id/searchBtn"
        android:layout_width="300dp"
        android:layout_height="50dp"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginStart="154dp"
        android:layout_marginTop="581dp"
        android:layout_marginEnd="156dp"
        android:layout_marginBottom="87dp"
        android:background="@drawable/buttons"
        android:elevation="15dp"
        android:text="SEARCH"
        android:visibility="visible" />
按钮目前的唯一用途是打开第二个活动


我是否遗漏了任何其他可能相关的代码?

您的边距太大,按钮无法呈现到immulator或常规设备。正如您所知,边距将在您的小部件和屏幕上的其他小部件之间留出空间。但这种大小的间隔会迫使你的图像完全消失。随着项目的发展,我会减少我的利润,并定义一个更实用的布局。这应该能解决你的问题

你的按钮不清楚。它不知道该把自己放在哪里。您正在使其开始和结束对齐。另外,一个按钮如何同时到达屏幕顶部和底部?就像我同时在月球和地球上一样。你有一个非常大的顶部空白“android:layout_marginTop=“581dp”`。也许您使用的是屏幕尺寸较小的模拟器,而它不在屏幕上?请提供完整的
activity_main.xml
和您的仿真器规格好吗?从高度和宽度开始。然后一个接一个地添加所需的属性。你是对的,@Rohit5k2,我删除了一些align语句,它出现在屏幕上。看起来很简单。感谢这一点,加上评论中强调的对齐问题,解决了这个问题。按钮似乎挂在屏幕底部
private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button = findViewById(R.id.searchBtn);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                openListActivity();
            }
        });
    }

    public void openListActivity() {
        Intent intent = new Intent(this, ListActivity.class);
        startActivity(intent);
    }