Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Custom background with layer-list to show diagonal lines?

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?

like image 607
Kumar Bankesh Avatar asked Sep 22 '14 05:09

Kumar Bankesh


2 Answers

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

* *

Digonal line

* *

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:

Tiled background

I hope this helps anyone. Happy Coding!

like image 104
eyadMhanna Avatar answered Oct 12 '22 05:10

eyadMhanna


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

like image 34
Nabin Avatar answered Oct 12 '22 06:10

Nabin