如何使用XML根据图像大小调整Android组件的大小

时间:2009-02-10 10:47:20

标签: xml android layout

我使用XML布局创建器在Android中创建了一个自定义图标栏,使用LinearLayout中的RadioGroup(下面包含XML)。 RadioGroup中的每个RadioButton都具有自定义drawable(具有已检查和未检查状态)作为其android:button属性。

线性布局本身位于RelativeLayout内,因此它可以出现在屏幕上的任意位置(在此示例中为侧边栏)。

drawables宽55像素,所有这些视图的android:layout\_width属性为wrap\_content

当我使这个组件可见时,对齐到屏幕的左下角,只有大约四分之三的RadioButton图像宽度可见。将layout\_width的{​​{1}}设置为RelativeLayout可以解决此问题并导致显示完整按钮。

但是,这意味着按钮组会在整个屏幕宽度上消耗点击事件。

如何显示整个按钮,并且只有按钮区域响应点击?硬编码可拉伸的宽度不是特别理想的解决方案。

fill\_parent

2 个答案:

答案 0 :(得分:7)

以dp(密度独立像素)设置LinearLayout,RadioGroup或RadioButton的宽度可能对您有用。基于你上面所说的我认为它必须是布局的宽度。尺寸是“硬编码的”,但它们会随着屏幕的大小而缩放。

所以xml看起来像:

android:layout_width="55dp"

dps的官方文档是here

答案 1 :(得分:1)

我无法想象为什么其他答案有6个赞成票,这是完全错误的

  

尺寸为“硬编码”,但它们会根据屏幕尺寸进行缩放。

他们会根据您屏幕的密度进行扩展。我非常希望我们能够使用XML中的百分比,而不是必须对它们进行编码。