我需要一个布局,在屏幕上均匀分布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,每个按钮)。
问题是我必须设置按钮的宽度和高度以获得圆形而不是橄榄球形状(椭圆形)。
有没有办法设置宽度=高度,同时仍适合不同的屏幕尺寸?
答案 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。