1

我正在 android Studio 中开发照片编辑器。我的屏幕上有不适合其他屏幕(不同尺寸)的图像和图标。我在manifest.xml文件中包含以下支持屏幕代码

<supports-screens

    android:anyDensity="true"

    android:largeScreens="true"

    android:normalScreens="true"

    android:resizeable="true"

    android:smallScreens="true"

    android:xlargeScreens="true" />

我开始知道密度独立是摆脱这种情况的方法。我不知道如何继续。请帮助我使我的应用程序密度独立的步骤是什么?activity_main.xml

android:layout_width="match_parent" android:layout_height="match_parent"

android:orientation="vertical"

android:gravity="center_vertical|center"

android:background="#403E3E">

<LinearLayout

    android:layout_marginTop="30px"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:orientation="vertical"

    android:gravity="center">


    <SeekBar

        android:layout_width="300dp"

        android:layout_height="wrap_content"

        android:layout_gravity="center"

        android:max="200"

        android:progress="100"

        android:id="@+id/seekBar1" />

</LinearLayout>

<LinearLayout

    android:id="@+id/middle_layout3"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:orientation="horizontal"

    android:gravity="center"

    android:layout_gravity="center_horizontal">

    <ImageView

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_marginLeft="10px"

    android:id="@+id/imageView2"

    android:scaleType="fitCenter"

    android:adjustViewBounds="true"

    android:src="@drawable/ic_launcher"

    android:layout_gravity="center_vertical"

    android:background="#ff0e0e0e" />

<SlidingDrawer

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:content="@+id/content"

    android:handle="@+id/handle"

    android:id="@+id/slidingDrawer"

    android:orientation="horizontal"

    android:alpha="0.5"

    android:layout_gravity="right|top">

    <LinearLayout

        android:id="@+id/content"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        android:orientation="vertical"

        android:background="#11111111"

        android:gravity="center">

        <ImageView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:id="@+id/brighticn"

            android:scaleType="fitCenter"

            android:adjustViewBounds="true"

            android:background="@drawable/brighticon"

            android:layout_gravity="center_vertical" />


        <ImageView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:id="@+id/filtericn"

            android:background="@drawable/filters" />

    </LinearLayout>

    <ImageView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:id="@+id/handle"

        android:background="@drawable/move" />

</SlidingDrawer>

</LinearLayout>

<LinearLayout

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:orientation="horizontal"

    android:gravity="bottom"

    android:layout_gravity="bottom">

<HorizontalScrollView

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:id="@+id/scrollView"

    android:layout_gravity="bottom"

    android:background="#ff030101">


    <LinearLayout

        android:id="@+id/sublayout"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:orientation="horizontal"

        android:background="#ff030101">

        <Button
            android:id="@+id/buttonhide"

            android:text="txt"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content" />



    </LinearLayout>

</HorizontalScrollView>

</LinearLayout>

4

1 回答 1

0

为了真正能够拥有密度独立的应用程序,您需要以不同的分辨率提供资源。Android 在处理这些方面真的很聪明。

添加图像时,您应该根据要支持的屏幕格式创建较小的图像或较大的图像,并将它们放在该格式的特定文件夹中。像这样的东西:

  • 资源/
    • 可绘制/
      • 图标.png
      • 背景.png
    • 可绘制的hdpi/
      • 图标.png
      • 背景.png

drawable/icon.png您的屏幕密度不是hdpi. 但将drawable-hdpi/icon.png用于特定类型的屏幕。

为了更好地理解这一点,您可以阅读 Android 文档中的这个非常详细的指南:http: //developer.android.com/guide/topics/resources/providing-resources.html

于 2015-07-22T15:17:39.820 回答