我尝试以相同的宽度和高度创建4个按钮。 现在我将宽度设置为0dp并设置weight =" 1",这允许我用相同的widht打扰所有按钮,但现在我需要设置相同高度的这些元素并且不知道该怎么做它
请帮我解决这个问题。
在我的xml布局下面:
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true" android:id="@+id/lin_layout">
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="VK"
android:id="@+id/btn1"
android:layout_weight="1"
android:layout_marginRight="5dp"/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="ЮД"
android:id="@+id/btn2"
android:layout_weight="1"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="KE"
android:id="@+id/btn3"
android:layout_weight="1"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/contact_bg"
android:id="@+id/btn4"
android:text="MI"
android:layout_weight="1" android:layout_marginLeft="5dp"/>
</LinearLayout>
答案 0 :(得分:0)
但是它取决于同一事物的高度,如果你想按钮的高度与刚设置android: layout_height = "match_parent"
的线性布局相同,按钮将与一样高线性布局。
例如
<LinearLayout
android:id="@+id/lin_layout"
android:layout_width="match_parent"
android:layout_height="100dp"
android:orientation="horizontal" >
<Button
android:id="@+id/btn1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="VK" />
<Button
android:id="@+id/btn2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="ЮД" />
<Button
android:id="@+id/btn3"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="KE" />
<Button
android:id="@+id/btn4"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="MI" />
</LinearLayout>
答案 1 :(得分:0)
我的意思是,按钮的高度必须等于它的宽度。见图:
答案 2 :(得分:0)
根据我的经验,你不可能只用xml做你所要求的事情,我担心你必须动态地做。
首先将所有按钮的高度更改为android:layout_height="match_parent"
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true" android:id="@+id/lin_layout">
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="VK"
android:id="@+id/btn1"
android:layout_weight="1"
android:layout_marginRight="5dp"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="ЮД"
android:id="@+id/btn2"
android:layout_weight="1"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="KE"
android:id="@+id/btn3"
android:layout_weight="1"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="@drawable/contact_bg"
android:id="@+id/btn4"
android:text="MI"
android:layout_weight="1" android:layout_marginLeft="5dp"/>
</LinearLayout>
然后获得LinearLayout
的宽度并将其高度设置为其宽度的1/4。
lin_layout.getLayoutParams().height = lin_layout.getLayoutParams().width / 4;