0

我需要一个在屏幕上均匀分布 12 个圆形按钮(圆圈)的布局。

对于圆形我使用这个:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >
<solid android:color="@android:color/darker_gray"/>
</shape>

作为布局,我使用LinearLayouts(每个按钮的宽度= 0,高度=填充和重量= 1)。

问题是我必须为按钮设置宽度和高度以获得圆形而不是足球形状(椭圆形)。

有没有办法设置宽度=高度,同时仍然适合不同的屏幕尺寸?

4

2 回答 2

1

从 xml 将无法设置宽度 = 高度并使其适合不同的屏幕分辨率。但它可以从代码中完成。

根据设备宽度、高度和密度,您可以计算您的布局。

像这样的东西:

DisplayMetrics metrics = this.getResources().getDisplayMetrics();
int displayWidth = metrics.widthPixels;
int displayHeight = metrics.heightPixels;

对于屏幕密度,您可以通过以下方式获得:

int density = metrics.density;
于 2013-09-03T02:11:18.153 回答
1

在 DP 中给出 layout_height 和 layout_width 值。并将您的 XML 放入所有文件夹中,例如 layout、layout-large、layout-xlarge。

于 2013-09-03T02:26:55.937 回答