Android,不同设备上的按钮大小

时间:2015-02-11 19:14:04

标签: android

每当我创建(例如)一个按钮时,它的大小在不同的设备上是不同的。即使我将大小保留为wrap_content的默认值。大小取决于我猜的字体大小。是否可以使小部件适合一个屏幕,然后在其他屏幕上自动缩放?如果是这样,我该怎么做?

无论如何,如果你们知道一些好的Android应用程序教程,你可以在这里发布。特别是如果有实用的编程,而不仅仅是理论。

3 个答案:

答案 0 :(得分:1)

Android中的所有用户界面都应设计为适合大多数屏幕。它们本质上是流动的,可以根据任何宽度/高度重新调整尺寸。

永远不要使用硬编码的像素值作为宽度/高度,而是依赖于视图的“wrap-content”或“dip”/“dp”度量,以及字体的“sp”而不是“pt”。你的问题不是太具体,所以我猜这就是你遇到的问题。

例如,150px宽的按钮在高密度屏幕上可能看起来不正确。使用150dp的按钮应该允许Android在任何屏幕上正确缩放它,并且无论屏幕密度/大小如何,仍然可以为您提供150px按钮。

请记住,800 x 480屏幕上的150dp按钮看起来比1980 x 1080屏幕上的相同按钮大。您可以使用“fill_parent”使按钮适合容器的宽度(或高度),或使用weight属性在显示器上分配视图。

答案 1 :(得分:1)

尝试使用wrap_content,fill_parent或match_parent指定dp中的宽度和高度或任何硬编码值

您还可以指定特定屏幕尺寸的尺寸,如

res/values-xlarge 
<dimen name="widget_min">196dp</dimen> 
res/values-large 
<dimen name="widget_min">144dp</dimen> 
res/values-normal 
<dimen name="widget_min">96dp</dimen> 
res/values-small 
<dimen name="widget_min">72dp</dimen> 

答案 2 :(得分:0)

一种方法是将宽度设置为 dp ,将高度设置为包装内容(或者到dp)

<Button
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="50dp"
    />

通过这样做,每个屏幕上 100dp (您也可以在图片上使用它)

(如果你想在父或其他对象上设置与边距的相对位置使用)

抱歉,如果我出错了