如何在启动画面中为徽标添加填充?

时间:2018-03-23 06:11:26

标签: android nativescript

enter image description here

我想在两侧的徽标上添加填充或空格,并在此处添加代码。

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:gravity="fill">
        <item android:drawable="@color/ns_theme"></item>
    <item>
        <bitmap android:gravity="center" android:src="@drawable/logo" />
    </item>
</layer-list>

enter image description here

6 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,我试图在项目中添加填充,但没有任何改变。

   <item
        android:left="16dp"
        android:right="16dp">
        <bitmap android:gravity="center"
                android:src="@drawable/splash"
                android:layout_marginLeft="16dp"
                android:layout_marginRight="16dp"/>
   </item>

问题出在重力=“中心”,没有填充。

尝试使用android:重力=“ clip_horizo​​ntal”

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/splash_color" />
    
    <item
        android:left="16dp"
        android:right="16dp">
        <bitmap android:gravity="clip_horizontal"
                android:src="@drawable/splash"
                android:layout_marginLeft="16dp"
                android:layout_marginRight="16dp"/>
    </item>

</layer-list>

答案 1 :(得分:0)

使用

  • android:bottom=""
  • android:left=""
  • android:right=""
  • android:top=""

试试这个

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:gravity="fill">
    <item android:drawable="@color/ns_theme"></item>
    <item
        android:bottom="20dp"
        android:left="20dp"
        android:right="20dp"
        android:top="20dp">
        <bitmap
            android:gravity="center"
            android:src="@drawable/logo" />
    </item>
</layer-list>

答案 2 :(得分:0)

试试这段代码:

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

<item android:drawable="@color/colorPrimary" />

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

</item>

</layer-list>

答案 3 :(得分:0)

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

    <item android:drawable="@color/ns_theme" />
    <item
        android:drawable="@drawable/ic_logo"
        android:left="@dimen/_16sdp"
        android:right="@dimen/_16sdp" />
</layer-list>

答案 4 :(得分:0)

问题可能是您的徽标太大(您使用的图像文件的像素宽度超过了您运行它的设备的像素密度)。

无论是否是这种情况,考虑到可以在任何具有任何屏幕尺寸的Android设备上运行它可能更好地解决问题。

考虑到这一点,有几个选项比简单地在xml中添加填充更好......例如,你可以:

1)将图像包裹在另一个视图对象中,您可以控制Bhavik Makwana建议的大小和位置。

2)只需简单地重新编辑/重新取样您的图片,使其与目标设备的宽度相匹配,并在图片中包含您想要的空白区域。

3)设计与整个屏幕完全匹配的完整闪屏(将前景和背景组合成一个图像),例如一个分辨率为1080 x 1920,其他屏幕尺寸为其他屏幕。这样你就可以准确地控制它的外观,分辨率为1-1,没有抗锯齿或重新采样。

4)使用this“9-patch”图像方法为徽标定义绝对宽度和高度,但允许拉伸周围的空白区域以适应不同的屏幕尺寸。

或者,最后,最好的方式:

5)使用带有指南的约束布局,以便根据父宽度的百分比而不是绝对值来定义徽标的宽度。

其他一些建议:除非您使用上面的技术#2,否则请确保您使用的logo.png文件如下:

enter image description here

......不喜欢这样:

enter image description here

KaBOOYOW!

-Boober。

答案 5 :(得分:0)

    <layer-list
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:gravity="center"
    android:layout_height="match_parent"
    android:layout_width="match_parent">

  <item
      android:bottom="10dp"
      android:left="10dp"
      android:right="10dp"
      android:top="10dp"
      android:gravity="center"
      android:background="@mipmap/logo" />

</layer-list>