布局有12个圆形/圆形按钮,可用于不同的分辨率/屏幕尺寸

时间:2013-09-03 02:03:59

标签: android android-layout screen-resolution screen-size android-screen-support

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

对于圆形形状Im使用:

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

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

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

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

2 个答案:

答案 0 :(得分:1)

从xml可以设置width = height并使其适合不同的屏幕分辨率。但它可以从代码中完成。

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

这样的事情:

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

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

int density = metrics.density;

答案 1 :(得分:1)

给出layout_height&amp; DP中的layout_width值。并将XML放在所有文件夹中,如layout,layout-large,layout-xlarge。