Android Shape Line

时间:2010-05-03 11:34:07

标签: android shape

我有以下代码:

   <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. 如何设置形状的不透明度?

3 个答案:

答案 0 :(得分:24)

1)为了设置线条的颜色,您需要在<stroke>上定义android:color<solid>元素用于后台。

2)您可以使用color values with an alpha layer,即#ARGB设置形状的不透明度。在你的情况下,也许#7FFF。

答案 1 :(得分:10)

具有黑色的2个密度像素的线的最简单示例。 只需将xml保存在drawable文件夹中: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>

我希望这会有所帮助。

答案 2 :(得分:0)

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

1)在需要的地方添加一个视图。

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

例如:

<View
    android:layout_width="match_parent"
    android:layout_height="6dp"
    android:background="#77f27123"
    android:orientation="vertical" />