java - 如何在一个屏幕上使用两个相对布局?
问题描述
我不能使用两种相对布局(一个在另一个)。我的应用程序没有启动。它一直在停止。我正在使用物理设备(Samsung Galaxy On Max)从 android studio 运行我的应用程序。
XML 文件:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/Next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="161dp"
android:layout_marginTop="340dp"
android:layout_marginEnd="162dp"
android:onClick="Next"
android:text="Next"
android:visibility="visible"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/newLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="invisible">
<TextView
android:id="@+id/nextText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="132dp"
android:layout_marginTop="354dp"
android:layout_marginEnd="132dp"
android:background="#F30808"
android:text="There you Go!"
android:textColor="#0B0A0A"
android:textSize="24sp"
android:visibility="visible"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
Java 文件:
package com.example.twolayouts;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TextView nextText;
Button Next;
RelativeLayout newLayout;
public void Next(View view)
{
Next.setVisibility(View.INVISIBLE);
newLayout.setVisibility(View.VISIBLE);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
nextText=(TextView)findViewById(R.id.nextText);
Next=(Button)findViewById(R.id.Next);
newLayout=(RelativeLayout)findViewById(R.id.newLayout);
}
}
解决方案
为什么要创建相对布局的对象,而 xml 中的布局是约束布局。
试试这个 :
public class MainActivity extends AppCompatActivity {
TextView nextText;
Button Next;
ConstraintLayout newLayout;
public void Next(View view)
{
Next.setVisibility(View.INVISIBLE);
newLayout.setVisibility(View.VISIBLE);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
nextText=(TextView)findViewById(R.id.nextText);
Next=(Button)findViewById(R.id.Next);
newLayout=(ConstraintLayout)findViewById(R.id.newLayout);
}
}
您应该尝试查看您的 logcat 窗口,它将帮助您找出您面临的错误。
推荐阅读
- python - 即使在 Django 中删除 OneTone 关系后,UNIQUE 约束也会失败
- c# - 有没有办法从资源加载文件,然后通过 BinaryFormatter 反序列化它?
- node.js - Nodjs中的AES加密和JAVA中的解密
- c - 在 CodeBlocks 中编译后的代码输出是 19,9。有人可以帮我看看它是如何执行的吗?我得到的答案是 20,9
- html - 用于屏幕阅读器的 HTML - 使用链接隐藏文本
- bitbucket - Bitbucket API - 获取合并挂钩内拉取请求的评论列表
- spring-boot - 使用函数接口创建的 Spring 云流应用程序不在 Spring 云数据流中通信数据
- json - Flutter:如何解析对象数组的 JSON 数组
- reactjs - ApexCharts:更改缩放/平移图标的默认蓝色
- javascript - 提交表单时停留在页面的特定部分 Javascript