在为Android创建设计时,我感到很尴尬。 根据我发现的一些信息,MDPI屏幕有一个1比例因子,所以我创建一个48dp = 48px的图像并将其保存在mdpi文件夹中,然后使用正确的比例因子,我将它保存在整个各地。
现在,我希望有一个与我的图像高度相同的按钮,当然,在我的布局中,我可以声明一个48dp高度的按钮,但是当在其他屏幕(比如XXHDPI)上使用时,图像和按钮的高度不再相同。
编辑:添加了按钮的布局
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="50dp">
<Button
android:id="@+id/btnCamera"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@drawable/logon_camera_button"
android:text="@string/logon_scanQrCode"
android:textColor="#ffffff"
android:textSize="20sp"
android:layout_marginLeft="48dp"
android:layout_marginRight="25dp"
android:gravity="center" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/btnCamera"
android:layout_alignLeft="@+id/btnCamera"
android:id="@+id/imgCamera"
android:src="@drawable/camera" />
</RelativeLayout>
对此主题有任何建议的人?
亲切的问候
答案 0 :(得分:1)
您可以添加res / values-xlarge / styles.xml
<style name="height">
<item name="android:height">50dp</item>
</style>
具有不同的设备屏幕值-xxlarge,values-small等,值
并将此样式添加到按钮
style="@style/height"
答案 1 :(得分:0)
如果您的按钮背景是ShapeDrawable支持的形状,那么您可以通过在drawable文件夹中创建xml并将其设置为按钮背景来创建一个。请参阅下面的ShapeDrawable示例
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#f0600000"/>
<stroke android:width="3dp" android:color="#ffff8080"/>
<corners android:radius="3dp" />
<padding android:left="10dp" android:top="10dp"
android:right="10dp" android:bottom="10dp" />
</shape>
如果它是任何其他形状或文字,你可以创建一个NinePatch图像,使文本不会拉伸没有文字拉伸的部分按屏幕分辨率。建议使用android:text属性添加文本,并在sp中使用android:textSize给出文本大小。因此,您可以添加没有文本的图像并设置补丁,因为只有线条部分被拉伸而不是图像中的曲线(如果有)。
答案 2 :(得分:0)
首先删除要在视图上设置的图像。然后下载this软件。并在该软件xxhdpi上设置输入密度。并检查所有选项。然后9patch调整图像大小。并将它们放在drawable中并设置为查看。就是这样。
答案 3 :(得分:0)
始终以您支持的最高分辨率开始。 xxhdpi
的缩放系数为3,因此您的xxhdpi
版图片应为144px
。
如今,有相当多的xxxhdpi
设备,所以你应该选择48 * 4 = 192px。只需将最高分辨率的图像放入-xxxhdpi
文件夹(将mdpi
和其他人留空),然后让自动缩放功能完成。在x4
分配尺寸时,请注意dp
乘数。
E.g。如果您想保持按钮高度和图像高度的1:1比例,并且192px
存储桶中的图片为xxxhdpi
,则按钮应为48dp
。
在这种情况下,例如,在xxhdpi
上,图片将按3/4缩放为144xpx
,48dp
按钮高度将缩放3,并且{{1} }}。 144px
分别为1/2和2,两者都会产生xhdpi
。
如果您注意到自动缩放的图形在某些密度上看起来很糟糕,那么请为该密度提供手动调整的资源。
无需为不同的密度提供自定义样式/尺寸 - 这适用于您的[按比例调整大小] UI在某些密度上看起来不太好的情况,并且您决定使用不同的比例来应对此问题。例如,如果某个元素的基线(又名96px
)大小为mdpi
,24px
上的ldpi
大小可能太小,那么对于12px
你将它设置为ldpi
(使用自定义版本的样式,或者,最好是尺寸),这可能会略微破坏UI比例,但可能看起来更好。