Java 在Android studio中,按钮不是正方形,但宽度和高度相同?
我是Android编程新手。我正在尝试创建一个简单的Tic-Tac-Toe,但我现在正在努力调整按钮的大小。我的纽扣有相同的高度和长度,但它们比高宽。有人能给我一个提示吗 下面是activity_main.xml中的代码Java 在Android studio中,按钮不是正方形,但宽度和高度相同?,java,android,xml,android-studio,Java,Android,Xml,Android Studio,我是Android编程新手。我正在尝试创建一个简单的Tic-Tac-Toe,但我现在正在努力调整按钮的大小。我的纽扣有相同的高度和长度,但它们比高宽。有人能给我一个提示吗 下面是activity_main.xml中的代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_wid
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:background="#2190F3"
android:orientation="vertical" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:textSize="40sp"
android:textStyle="bold"
android:textColor="#000000"
android:text="@string/title" />
<LinearLayout
android:layout_marginTop="150dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<Button
android:id="@+id/button3"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_weight="1"
android:text="Button" />
<Button
android:id="@+id/button"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_weight="1"
android:text="Button" />
<Button
android:id="@+id/button2"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_weight="1"
android:text="Button" />
</LinearLayout>
</LinearLayout>
或者,将包含按钮的
线性布局的布局宽度设置为包裹内容
,而不是匹配父项
。检查以下内容:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:background="#2190F3"
android:orientation="vertical" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:textSize="40sp"
android:textStyle="bold"
android:textColor="#000000"
android:text="title" />
<LinearLayout
android:layout_marginTop="150dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="horizontal">
<Button
android:id="@+id/button3"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_weight="1"
android:text="Button" />
<Button
android:id="@+id/button"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_weight="1"
android:text="Button" />
<Button
android:id="@+id/button2"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_weight="1"
android:text="Button" />
</LinearLayout>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:background="#2190F3"
android:orientation="vertical" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:textSize="40sp"
android:textStyle="bold"
android:textColor="#000000"
android:text="title" />
<LinearLayout
android:layout_marginTop="150dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal"
android:orientation="horizontal">
<Button
android:id="@+id/button3"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="Button" />
<Button
android:id="@+id/button"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="Button" />
<Button
android:id="@+id/button2"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="Button" />
</LinearLayout>
</LinearLayout>
谢谢你,这很有效!但是为什么呢?你能解释一下吗?根据你的要求,你不能同时使用match\u parent
和android:layout\u weight=“1”
。当您使用layout\u weight
为1时,这意味着您已经覆盖了其父级的所有宽度。您可以通过从初始布局中的一个按钮中删除android:layout\u weight=“1”
来检查差异