【问题标题】:Android item size in layer-list层列表中的 Android 项目大小
【发布时间】:2016-01-29 11:09:20
【问题描述】:

我需要为层列表中的项目设置大小。在启动活动中用作 windowBackground。我编写了这个 XML 文件,Android Studio 正确显示了它。但在应用程序中,徽标始终全屏。如何制作?

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle" >

        <gradient
            android:endColor="#000004"
            android:gradientRadius="1000"
            android:startColor="#1f3371"
            android:type="radial" >
        </gradient>
    </shape>
</item>
<item>
    <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
        android:src="@drawable/texture_5"
        android:tileMode="repeat" />
</item>
<item android:drawable="@drawable/logo"
    android:height="100dp"
    android:width="77dp"
    android:gravity="center"
    >

</item>
</layer-list>

【问题讨论】:

    标签: android xml android-studio


    【解决方案1】:

    我找到了解决方案,但我期待更好的方法。 这是最终代码:

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle" >
    
            <gradient
                android:endColor="#000004"
                android:gradientRadius="1000"
                android:startColor="#1f3371"
                android:type="radial" >
            </gradient>
        </shape>
    </item>
    <item>
        <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
            android:src="@drawable/texture_5"
            android:tileMode="repeat" />
    </item>
    <item android:drawable="@drawable/logo"
        android:bottom="214dp"
        android:top="214dp"
        android:left="100dp"
        android:right="100dp"
        android:gravity="center"
        android:tileMode="repeat"
        >
    </item>
    </layer-list>
    

    至少它可以在 xxhdpi 和 xhdpi 下工作而不会失真。

    【讨论】:

      【解决方案2】:

      从 API 23 开始,可以在“item”标签内设置宽度和高度:

      <item android:drawable="@drawable/logo" android:width="..." android:height="..." />
      

      【讨论】:

        【解决方案3】:

        你可以这样做

        <?xml version="1.0" encoding="utf-8"?>
        <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        
            <item android:drawable="@color/blanco"/>
            <item
                android:width="200dp"
                android:height="200dp"
                android:gravity="center">
                <bitmap
                    android:gravity="fill"
                    android:src="@drawable/your_image"
                    android:mipMap="true"/>
            </item>
        </layer-list>
        

        只需更改 widthheight

        【讨论】:

          【解决方案4】:

          我遇到了同样的问题并找到了解决方案here。 我不得不使用我的矢量可绘制对象作为位图对象的源:

          <item>
              <bitmap
                  android:gravity="center"
                  android:src="@drawable/ic_logo_splash"/>
          </item>
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-03-18
            • 1970-01-01
            相关资源
            最近更新 更多