gpt4 book ai didi

java - 以百分比设置按钮的大小

转载 作者:太空宇宙 更新时间:2023-11-03 12:35:53 25 4
gpt4 key购买 nike

请看下面的代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".HomeScreen" >

<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="*"
android:layout_alignParentTop="true" >

<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />

<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />

</TableRow>

<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />

<Button
android:id="@+id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />

<Button
android:id="@+id/button6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />

</TableRow>

<TableRow
android:id="@+id/tableRow3"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<Button
android:id="@+id/button7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />

<Button
android:id="@+id/button8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />

<Button
android:id="@+id/button9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />

</TableRow>

<TableRow
android:id="@+id/tableRow4"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<Button
android:id="@+id/button10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />

<Button
android:id="@+id/button11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />

<Button
android:id="@+id/button12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />

</TableRow>
</TableLayout>

</RelativeLayout>

这会生成以下输出。

enter image description here

但这不是我需要的。我需要这 12 个按钮来填满整个屏幕,彼此之间保持相等的间距并且大小也相等。我不需要设置固定尺寸,比如hight=100,width=100,而是应该根据设备屏幕尺寸调整尺寸。这意味着,每个按钮在屏幕中可以有 8.3% 的空间 (100/12 = 8.3)。

我尝试将每个按钮的高度设置为 0dp 并添加 android:layout_weight = 0.083。但这不起作用,因为在此之后没有显示任何按钮。

我该怎么做?

最佳答案

你不能在 xml 中拥有你想要的动态布局..

在您加载布局的 Activity/fragment 中..您必须根据屏幕尺寸自行设置 tableRow 高度

要获取屏幕大小,您可以使用

    DisplayMetrics metrics = new DisplayMetrics();
Activity aActivity = (Activity) container.getContext();
aActivity.getWindowManager().getDefaultDisplay().getMetrics(metrics);

screen_Width = metrics.widthPixels;
screen_Height = metrics.heightPixels;

现在您可以将每个表格行宽设置为 totalHeight/NoOFRows - padding。

        tableRow.setMinimumHeight(calculatedHeight);

可以对宽度进行类似的计算,使它们正确填充并保持相同的大小

关于java - 以百分比设置按钮的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19449125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com