[转载]android画虚线、实线,画圆角矩形,一半圆角
(-03-19 12:38:12)
转载▼原文地址:android
画虚线、实线,画圆角矩形,一半圆角
作者:大脸猫 1、画虚线,实线:
建立dotted_line_gray.xml文件放在drawable文件夹下面。
android:shape="line" 可以修改你想要的形状
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="/apk/res/android"
android:shape="line">
<!-- 显示一条虚线,破折线的宽度为dashWith,破折线之间的空隙的宽度为dashGap,当dashGap=0dp时,为实线-->
<stroke android:width="1dp" android:color="#D5D5D5"
android:dashWidth="2dp" android:dashGap="3dp" />
<!-- 虚线的高度 -->
<size android:height="2dp" />
</shape>
然后在布局的xml里面:
作为ImageView或者Linearlayout等作为背景源就可以了。
<LinearLayout
android:id="@+id/activity_line"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:background="@drawable/dotted_line_gray" />
---------
2、画圆角矩形
建立 rect_gray.xml文件放在drawable文件夹下面。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="/apk/res/android"
android:shape="rectangle">
<!-- 填充颜色 -->
<solid android:color="#FFFFFF"></solid>
<!-- 线的宽度,颜色灰色 -->
<stroke android:width="1dp" android:color="#D5D5D5"></stroke>
<!-- 矩形的圆角半径 -->
<corners android:radius="0dp" />
</shape>
然后在布局的xml里面:
作为ImageView或者Linearlayout等作为背景源就可以了。
<LinearLayout
android:id="@+id/activity_myhezu_wantchuzu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/myhezu_dottedline_rect_green"
android:orientation="horizontal" >
3、一半圆角:
<shape xmlns:android="/apk/res/android"
android:shape="rectangle">
<cornersandroid:topLeftRadius="16dp" <!--上面左圆角的半径-->
android:topRightRadius="16dp"<!--上面右圆角的半径-->
android:bottomLeftRadius="0dp"<!--下面左圆角的半径-->
android:bottomRightRadius="0dp"/><!--下面右圆角的半径-->
<gradient android:startColor="#ffffff"
android:endColor="#ffffff"
android:angle="270"/>
<strokeandroid:width="1dp"
android:color="#80000000" />
</shape>
转自:http://android-dev-tips-and-//09/xml-drawables-part-ii.html
注意:Android3.0以上系统开始支持硬件加速特性hardwareAccelerated,默认是启用的。当你的某个activity用到了“虚线”效果的时候,必须要设置AndroidManifest文件中那个activity的硬件加速属性为:android:hardwareAccelerated="false",否则是不会显示”虚线“效果的。具体原因也不是很清楚。
利用shape来画line,很简单,我很快就能写出一个line类型的shape文件,然后设置到一个view的background属性中,本以为横线的效果会出来,但是运行了几遍都是没有显示。后来上网找,都是一些讲如何定义line的,没有运行的效果看,开发者官网也只是一句简单的概括line的使用方法。本来差点就叫美工给我切个图算了的,最后让我找到了这篇文章,可能要fq浏览。这里讲了定义line,并且使用它的一些注意点,看完之后,豁然开朗,把之前的定义做了些修改,可以正常显示了。文章截图如下,都是英文,但是都还算简单,不会太难理解。