带有图层列表的自定义背景以显示对角线?

Ban*_*nku 6 xml user-interface android

我只想创建一个自定义背景,但我不知道如何使用 xml 而不是图像来做到这一点。

这是xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@layout/ui_shape"
tools:context="${relativePackage}.${activityClass}" >
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我想要这样。是否可以像所需的图像一样创建 xml? 所需图片

这是 ui_shape

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"  
>
<item>
    <rotate
        android:fromDegrees="45">
        <shape
            android:shape="line" >
            <stroke android:color="@color/ui" android:width="1dp" />
            <solid
                android:color="@color/ui" />
        </shape>
    </rotate>
</item>

</layer-list>
Run Code Online (Sandbox Code Playgroud)

和颜色

<color name="ui">#0095A0</color>
Run Code Online (Sandbox Code Playgroud)

这是我得到的

得到

有人知道吗?

eya*_*nna 5

我知道我迟到了,但如果有人来这里,这是我的解决方案:

1)在photoshop或任何其他程序中创建一条小对角线,它应该是这样的

* *

对角线

* *

2)在android studio中创建以下XML drawable,其中“@drawable/diagonal_line”是前面提到的图像:

<?xml version="1.0" encoding="utf-8"?>
<bitmap  xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/diagonal_line"
    android:tileMode="repeat"
    android:dither="true"
    >
</bitmap>
Run Code Online (Sandbox Code Playgroud)

这个位图 drawable 会做的是取那条对角线并在选定的视图上重复它。

3) 现在使用 XML drawable 作为您的视图背景,例如,我是这样使用它的,其中“@drawable/tiled_background”是第 2 步中的 XML:

<View
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:background="@drawable/tiled_background"/>
Run Code Online (Sandbox Code Playgroud)

结果如下:

平铺背景

我希望这可以帮助任何人。快乐编码!


Nab*_*bin 1

使用

android:background="@drawable/yourcustombackground"
Run Code Online (Sandbox Code Playgroud)

在可绘制对象中定义自定义背景(如下所示)

<shape android:shape="rectangle">
       <corners android:radius="10dp"/>
       <stroke android:width="1dp" android:color="#555555"/>
       <solid android:color="#111111"/>
</shape>
Run Code Online (Sandbox Code Playgroud)

更新:在背景中显示图像

android:background="@drawable/ic_image"
Run Code Online (Sandbox Code Playgroud)

ic_image 是所需的图像

或者你也可以使用渐变

  • 我根本不想使用图像@Nabin (2认同)