如何正确创建资产?

时间:2015-09-03 08:09:35

标签: android assets

在为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>

对此主题有任何建议的人?

亲切的问候

4 个答案:

答案 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缩放为144xpx48dp按钮高度将缩放3,并且{{1} }}。 144px分别为1/2和2,两者都会产生xhdpi

如果您注意到自动缩放的图形在某些密度上看起来很糟糕,那么请为该密度提供手动调整的资源。

无需为不同的密度提供自定义样式/尺寸 - 这适用于您的[按比例调整大小] UI在某些密度上看起来不太好的情况,并且您决定使用不同的比例来应对此问题。例如,如果某个元素的基线(又名96px)大小为mdpi24px上的ldpi大小可能太小,那么对于12px你将它设置为ldpi(使用自定义版本的样式,或者,最好是尺寸),这可能会略微破坏UI比例,但可能看起来更好。