25

我有以下代码:

   <shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="line">
   <stroke android:width="1dp"/>
   <size android:height="1dp" />
   <solid  android:color="#FFF"/>
   </shape>


   <LinearLayout
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:background ="@drawable/line"/>

我有两个问题:

  1. 为什么这条线是黑色而不是白色?我试过把它放在 ImageView 中,但结果是一样的。
  2. 如何设置形状的不透明度?
4

3 回答 3

28

1)为了设置线条的颜色,您需要android:color<stroke>. 该<solid>元素用于背景。

2) 您可以通过使用带有 alpha 层的颜色值来设置形状的不透明度,也就是 #ARGB。在你的情况下,也许是#7FFF。

于 2010-05-03T14:11:42.810 回答
21

黑色 2 密度像素线的最简单示例。只需将 xml 保存在可绘制文件夹中: res/drawable/shape_black_line.xml

<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">
<stroke 
    android:width="1dp" 
    android:color="#000000" />
<size android:height="2dp" />
</shape>

使用 LinearLayout 和背景来显示线条。

<LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" 
            android:background="@drawable/divider">
</LinearLayout>

我希望这会有所帮助。

于 2014-09-02T05:14:15.997 回答
0

一个棘手的方法可能是这样的:

1)添加一个视图,你想有一条线。

2)设置android:background为可以设置颜色和不透明度的十六进制值。

例如:

<View
    android:layout_width="match_parent"
    android:layout_height="6dp"
    android:background="#77f27123"
    android:orientation="vertical" />
于 2018-11-24T07:06:15.573 回答