每当我创建(例如)一个按钮时,它的大小在不同的设备上是不同的。即使我将大小保留为wrap_content的默认值。大小取决于我猜的字体大小。是否可以使小部件适合一个屏幕,然后在其他屏幕上自动缩放?如果是这样,我该怎么做?
无论如何,如果你们知道一些好的Android应用程序教程,你可以在这里发布。特别是如果有实用的编程,而不仅仅是理论。
答案 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 (您也可以在图片上使用它)
(如果你想在父或其他对象上设置与边距的相对位置使用)
抱歉,如果我出错了