1

有没有办法为我的应用程序的背景制作一个带有渐变的 xml 文件,同时将徽标放入其中。

因此,当我设置布局的背景时,我会得到带有徽标的渐变。

当然可以只定义渐变并在每一页上放上徽标,但是我想要完成的方式不是更好吗?

我尝试将两者结合在一个 xml 文件中,但这并没有成功并导致应用程序崩溃。

由 xml 和 logo 创建的渐变是一个图像 1 一个 xml 文件,并在每个页面上使用它。当我更改 background.xml 中的徽标时,我需要在其他所有页面上更改它。

我想使用以下 xml 作为我所有布局的背景

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<gradient
    android:startColor="#000"
    android:endColor="#008d36"
    android:gradientRadius="326"
    android:type="radial"/>
</shape>


<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_marginRight="18dp"
    android:layout_marginTop="89dp"
    android:layout_toLeftOf="@+id/logo"
    android:src="@drawable/logo" />
4

1 回答 1

4

是的,可以从 XML 布局中给出渐变。

但是在您的场景中,您想为徽标添加渐变?

简要说明您的要求。

在 res 中创建 drawable 文件夹并创建 xml 名称为 gradient.xml 并复制这些代码。

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

<gradient
    android:endColor="#008d36"
    android:gradientRadius="326"
    android:startColor="#000"
    android:type="radial" />

</shape>

还要在你的主布局/main.xml 中正确地处理这些代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
   <RelativeLayout
    android:id="@+id/imageView1"
    android:layout_width="100dip"
    android:layout_height="100dip"
    android:background="@drawable/gradient" >

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:src="@drawable/yourlogoimage" />
    </RelativeLayout>

</LinearLayout> 
于 2013-03-15T10:31:49.720 回答