为什么我的LinearLayout中的Button视图设置为固定宽度,无论我如何更改填充?我将layout_width和height设置为wrap_content,并且我已经使用了从0dp到24dp的填充,但是我的+和 - 按钮的宽度不会改变,可以看出。
这是我的xml代码 -
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.android.justjava.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Quantity"
android:textAllCaps="true"
android:textSize="16sp"
android:textColor="#757575"
android:layout_marginTop="16dp"
android:layout_marginLeft="16dp"
android:layout_marginBottom="8dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="8dp"
android:layout_marginLeft="16dp"
android:layout_marginBottom="8dp">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="-"
android:textSize="16sp"
android:background="#E0E0E0"
android:onClick="decrement"/>
<TextView
android:id="@+id/quantity_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:textSize="16sp"
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:textColor="@android:color/black"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+"
android:textSize="16sp"
android:background="#E0E0E0"
android:onClick="increment"/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Price"
android:textAllCaps="true"
android:textSize="16sp"
android:textColor="#757575"
android:layout_marginTop="8dp"
android:layout_marginLeft="16dp"
android:layout_marginBottom="8dp"/>
<TextView
android:id="@+id/price_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="$0"
android:textSize="16sp"
android:textColor="@android:color/black"
android:layout_marginTop="8dp"
android:layout_marginLeft="16dp"
android:layout_marginBottom="8dp"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ORDER"
android:textSize="16sp"
android:layout_marginTop="8dp"
android:layout_marginLeft="16dp"
android:padding="8dp"
android:background="#E0E0E0"
android:onClick="submitOrder"/>
</LinearLayout>
可以看出,我的+和 - 按钮应该没有宽度,但显示器和我的手机显示其他...
https://imgur.com/6pc7sgk指向我显示的链接
任何帮助将不胜感激。
谢谢, Usun
答案 0 :(得分:2)
要更改按钮的宽度,请使用layout_width = 100dp(或您希望的任何尺寸),如下所示:
df1[df1$ID %in%subset(df1, !Interaction_number)$ID,]
或者你可以这样使用填充(paddingLeft和paddingRight):
<Button
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="-"
android:textSize="16sp"
android:background="#E0E0E0"
android:onClick="decrement"
/>
答案 1 :(得分:0)
你可以试试这个
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginLeft="16dp"
android:layout_marginTop="8dp"
android:orientation="horizontal"
android:weightSum="6">
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:background="#E0E0E0"
android:onClick="decrement"
android:text="-"
android:textSize="16sp" />
<!--android:padding="?yourpaddingdp"-->
<TextView
android:id="@+id/quantity_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:text="0"
android:textColor="@android:color/black"
android:textSize="16sp" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:background="#E0E0E0"
android:onClick="increment"
android:text="+"
android:textSize="16sp" />
<!--android:padding="?yourpaddingdp"-->
</LinearLayout>
答案 2 :(得分:0)
将包含按钮和textview的linearlayout替换为以下内容:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="8dp"
android:layout_marginLeft="16dp"
android:layout_marginBottom="8dp">
<Button
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="-"
android:textSize="16sp"
android:background="#E0E0E0"
android:onClick="decrement"/>
<TextView
android:id="@+id/quantity_text_view"
android:layout_width="0dp"
android:gravity="center"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="0"
android:textSize="25sp"
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:textColor="@android:color/black"
/>
<Button
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="+"
android:textSize="16sp"
android:background="#E0E0E0"
android:onClick="increment"/>
</LinearLayout>
答案 3 :(得分:0)
对不起,我的英语很差。 因为Button有minWidth,你只在其中设置“+”,如果你设置了“+++++” 它,宽度将会改变。
答案 4 :(得分:0)
这是因为您的按钮宽度为"wrap_content"
,内容非常小。您可以给它一个特定的宽度,使其更宽。你可以尝试50dp或任何你需要的。 BTW你在做udacity建筑布局吗?这是一个很好的课程。
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="-"
android:textSize="16sp"
android:background="#E0E0E0"
android:onClick="decrement"/>
答案 5 :(得分:0)
就你的问题而言
“为什么我的LinearLayout中的Button视图设置为固定宽度?”
答案是:
“按钮是一个视图,默认情况下它的minHeight设置为48dip”
因此,您可以相应地设置minWidth
,也可以使用@Sayalee Pote的答案。