Bja*_*sen 27 android android-layout
如何指定Android布局视图元素的背景"颜色"应该是渐变(以特定角度)?
我希望在XML中指定它,即不在运行时.最好作为一种风格,我可以申请任何我希望与style财产的布局?
Don*_*Gru 84
创建gradient.xml于/res/drawable:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#FFFFFF"
android:endColor="#00000000"
android:angle="45"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
并在您的main.xml布局文件中/res/layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/gradient"
>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
可以通过更换指定角度android:angle值和通过更换开始/结束颜色android:startColor和android:endColor
你可以使用这样的东西:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#A1A1A1"
android:centerColor="#BDBDBD"
android:endColor="#A4A4A4"
android:angle="-90" />
</shape>
Run Code Online (Sandbox Code Playgroud)
构建渐变(您可以选择喜欢的颜色).把它放在drawable中,你有自己的形状用作背景:android:background="@drawable/the_name_of_your_xml"
这就是我设置渐变样式的方法.希望这可以帮助.但我已将它用于textview.你必须做一些改变以适应你的布局背景.
Shader textShader = new LinearGradient(0, 0, 0, 20, new int[] {
Color.WHITE, getResources().getColor(//some color),
getResources().getColor(//some color), Color.WHITE },
new float[] { 0.25f,0.50f,0.75f, 1 }, TileMode.CLAMP);
textview.getPaint().setShader(textShader);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
47507 次 |
| 最近记录: |