自定义背景与图层列表显示对角线?

时间:2014-09-22 05:42:58

标签: android xml user-interface

我只是想创建一个自定义背景,但我不知道如何使用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>

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

这是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>

和颜色

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

这是我得到的

get

任何人都有任何想法?

3 个答案:

答案 0 :(得分:3)

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

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

* *

Digonal line

* *

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

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

这个位图可绘制的内容是采用单个对角线并在所选视图上重复它。

3)现在使用XML drawable作为您的视图背景,例如,这就是我使用它的方式,其中&#34; @ drawable / tiles_background&#34;是第2步中的XML:

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

以下是结果:

Tiled background

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

答案 1 :(得分:1)

使用

android:background="@drawable/yourcustombackground"

在drawable中定义自定义背景(如下所示)

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

更新:以背景显示图片

android:background="@drawable/ic_image"

ic_image是所需的图像

或者您也可以使用gradient

答案 2 :(得分:-3)

没有。在android中设置对角线是不可能的。你必须使用图像作为对角线