问题描述
我在将渐变背景应用于 LinearLayout 时遇到问题.
I am having trouble applying a gradient background to a LinearLayout.
从我读过的内容来看,这应该相对简单,但它似乎不起作用.仅供参考,我正在 2.1-update1 上开发.
This should be relatively simple from what I have read but it just doesn't seem to work. For reference sakes I am developing on 2.1-update1.
header_bg.xml:
header_bg.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="90"
android:startColor="#FFFF0000"
android:endColor="#FF00FF00"
android:type="linear"/>
</shape>
main_header.xml:
main_header.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="50dip"
android:orientation="horizontal"
android:background="@drawable/header_bg">
</LinearLayout>
如果我将@drawable/header_bg 更改为颜色 - 例如#FF0000 它工作得很好.我在这里遗漏了一些明显的东西吗?
If I change @drawable/header_bg to a color - e.g. #FF0000 it works perfectly fine. Am I missing something obvious here?
推荐答案
好的,我已经设法使用选择器解决了这个问题.见下面的代码:
Ok I have managed to solve this using a selector. See code below:
main_header.xml:
main_header.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="50dip"
android:orientation="horizontal"
android:background="@drawable/main_header_selector">
</LinearLayout>
main_header_selector.xml:
main_header_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<gradient
android:angle="90"
android:startColor="#FFFF0000"
android:endColor="#FF00FF00"
android:type="linear" />
</shape>
</item>
</selector>
希望这对有同样问题的人有所帮助.
Hopefully this helps someone who has the same problem.
这篇关于Android LinearLayout 渐变背景的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!