繁体   English   中英

Android:UI线性布局和按钮

[英]Android: UI Linear Layout and Buttons

我在一个线性布局下的一行(水平)中有8个(八个)按钮。 问题是这些按钮看起来像矩形,而我希望它们看起来像方形。

<Button
        android:id="@+id/button25"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="right"
        android:layout_weight="0.125" 
        android:background="#ffffffff" />

有人可以指导我需要做什么,以便这些矩形变成正方形。

而不是设置

    android:layout_width="match_parent"
    android:layout_height="match_parent"

将宽度和高度的值指定为

    android:layout_width="160dip"
    android:layout_height="160dip"

也删除

   android:layout_weight="0.125" 

所以代码就像

       <Button
    android:id="@+id/button25"
    android:layout_width="160dip"
    android:layout_height="160dip"
    android:layout_gravity="right"

    android:background="#ffffffff" />

有用!

如果你使用固定尺寸的宽度和高度,你会得到一个正方形,但你失去了很好的自动调整LinearLayout。 在你的情况,你不知道每个按钮的宽度布局完成 ,直到。 View中的post()方法是你的朋友。

final Button button1 = (Button) findViewById(R.id.button25);
first.post( new Runnable() {
    public void run() {
        LinearLayout.LayoutParams params = 
            (LinearLayout.LayoutParams) button1.getLayoutParams();
        params.height = button1.getWidth();
    }
});

要确保按钮大小正确,您的布局应如下所示:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:weightSum="5"> <!-- or however many buttons there are -->
    <Button
        android:id="@+id/button1"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content" />
    <!-- other buttons go here -->
</LinearLayout>

这只需要处理第一个按钮,但您可以弄清楚如何完成其​​余操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM