Custom background with layer-list to show diagonal lines?

笑着哭i 提交于 2020-11-30 07:40:10

问题


I just want to create a custom background but I'm not getting how to do that with xml not with image.

Here is the 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>

and I want like this. Is it possible to create xml like the required image? Required image

here is 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>

and color

<color name="ui">#0095A0</color>

here is what i got

get

anybody any idea?


回答1:


I know I am late, but this is my solution if anyone gets here:

1) create a single small diagonal line in photoshop or any other program, it should look like this

* *

* *

2) Create the following XML drawable in android studio where "@drawable/diagonal_line" is the previous mentioned image:

<?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>

what this bitmap drawable will do is take that single diagonal line and repeat it all over the selected view.

3) Now use that XML drawable as your view background, as an example, this is how I used it, where "@drawable/tiled_background" is the XML in step 2:

<View
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:background="@drawable/tiled_background"/>

and here is the result:

I hope this helps anyone. Happy Coding!




回答2:


Use

android:background="@drawable/yourcustombackground"

Define your custom background inside drawable (something like below)

<shape android:shape="rectangle">
       <corners android:radius="10dp"/>
       <stroke android:width="1dp" android:color="#555555"/>
       <solid android:color="#111111"/>
</shape>

Update: To display image at background

android:background="@drawable/ic_image"

ic_image is the desired image

Or you can use gradient also




回答3:


No. it is not possible in android to set diagonal line .You have to use image for it for the diagonal lines



来源:https://stackoverflow.com/questions/25967330/custom-background-with-layer-list-to-show-diagonal-lines

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!