android studio - 重叠按钮

问题描述 投票:0回答:0

我正在 AndroidStudio 上构建一个简单的应用程序,输入您的姓名,点击“下一步”按钮,它会转到下一页,其中按钮显示“不要那样叫我”和“谢谢”。我的问题是,IDE 未显示任何错误,但按钮在模拟器中重叠。这是布局或填充问题吗?还是两者都不是?

activity_main.xml    
<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/enter_your_name"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.047"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.022" />

    <EditText
        android:id="@+id/editText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textPersonName"
        android:minHeight="48dp"
        android:text=""
        tools:ignore="LabelFor,MissingConstraints,SpeakableTextPresentCheck"
        tools:layout_editor_absoluteX="15dp"
        tools:layout_editor_absoluteY="39dp"
        android:importantForAutofill="no" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/next"
        tools:layout_editor_absoluteX="17dp"
        tools:layout_editor_absoluteY="85dp"
        tools:ignore="MissingConstraints" />

MainActivity.java

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        // loads user name from SharedPreferences
        sharedPreferences = getPreferences(MODE_PRIVATE);
        String userName = sharedPreferences.getString("userName", null);

        // Set the user name in the EditText
        editText = findViewById(id.editText);
        editText.setText(userName);
    }

    @Override
    protected void onPause() {
        super.onPause();

        // saving the current values
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putString("userName", editText.getText().toString());
        editor.apply();
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        // Checks result code from the NameActivity
        if (requestCode == REQUEST_NAME && resultCode == RESULT_OK) {
            int result = data.getIntExtra("result", 0);
            if (result == 0) {
                // user wants to change their name
                editText.setText("");
            } else if (result == 1) {
                // user closes app
                finish();

activity_name.xml

     <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/welcome"
        tools:layout_editor_absoluteX="16dp"
        tools:layout_editor_absoluteY="16dp"
        tools:ignore="MissingConstraints" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/dont_call_mee_that"
        tools:layout_editor_absoluteX="17dp"
        tools:layout_editor_absoluteY="41dp"
        tools:ignore="MissingConstraints" />

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/thank_you"
        tools:layout_editor_absoluteX="228dp"
        tools:layout_editor_absoluteY="41dp"
        tools:ignore="MissingConstraints" />

NameActivity.java

     @SuppressLint("SetTextI18n")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_name);

        // gets the user's name passed from the previous activity
        Intent intent = getIntent();
        String userName = intent.getStringExtra("userName");

        // updates the TextView to welcome the user
        TextView textView = findViewById(R.id.textView);
        textView.setText("Welcome " + userName + "!");
java android button
© www.soinside.com 2019 - 2024. All rights reserved.