-1

我有四个背景图片:

(240*320, 320*480, 480*720, 640*960)

现在的问题是我有三星 Galaxy Tab 2,它从 hdpi 获取图像,这意味着图像大小为 480*720,标签大小为 640*1024。然后图像拉伸。我对设备中的图像设置感到困惑,请你们有任何想法,然后请帮助我。

4

2 回答 2

3

在 res 中创建drawable-sw600dp-hdpi文件夹并将文件放入此文件夹

例子

已弃用

  1. 可绘制的 hdpi
  2. 可绘制的 mdpi
  3. 可绘制的nodpi
  4. 可绘制的 xhdpi

新技术配置示例

  1. drawable-sw320dp -> 320dp:典型的手机屏幕(240x320 ldpi、320x480 mdpi、480x800 hdpi 等)。
  2. drawable-sw480dp -> 480dp:像 Streak (480x800 mdpi) 这样的补间平板电脑。
  3. drawable-sw600dp -> 600dp: 7 英寸平板电脑 (600x1024 mdpi)。
  4. drawable-sw720dp -> 720dp: 10 英寸平板电脑(720x1280 mdpi、800x1280 mdpi 等)。

为不同的屏幕尺寸提供不同的布局

可用于提供特定于大小的资源的配置限定符是smallnormallargexlarge。例如,超大屏幕的布局应该放在layout-xlarge/ 中。

从 Android 3.2(API 级别 13)开始,不推荐使用上述尺寸组,您应该改用sw<N>dp配置限定符来定义布局资源所需的最小可用宽度。例如,如果您的多窗格数位板布局需要至少600dp的屏幕宽度,则应将其放置在layout-sw600dp/中。

使用声明布局资源的新技术将在关于为 Android 3.2 声明平板电脑布局的部分中进一步讨论。

支持多屏

于 2013-07-11T08:49:45.473 回答
0

好吧,Kirit 是对的。

您可以使用一些技巧,但这取决于您的背景图像。在我们的例子中,我们有一个标志,它被放置在带有渐变的背景上。我们最后做了什么:我们在 a 上绘制渐变RelativeLayout并将徽标作为transparent-png文件放在上面,并将其定义为始终在中心和scaleTypeto fitCenter。(如果你会使用fitXY,ImageView会调整大小)

 // layout/view.xml
 <RelativeLayout
    android:id="@+id/splashscreen"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/shape_background">

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:scaleType="fitCenter"
        android:padding="20dp"
        android:src="@drawable/splashscreen_logo" />
</RelativeLayout>

// drawable/hape_background
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="rectangle">
    <gradient android:startColor="#f1f1f1" android:endColor="#d7d7d7"/>
</shape>

是否可以为您的背景图像角落添加一些透明度?!

于 2013-07-11T14:36:10.907 回答