参考: http://blog.csdn.net/lan410812571/article/details/9946991
设置虚线:
- <?xml version="1.0" encoding="utf-8"?>
- <shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="line" >
- <stroke
- android:dashGap="3dp"
- android:dashWidth="6dp"
- android:width="1dp"
- android:color="#63a219" />
- <!-- 虚线的高度 -->
- <size android:height="1dp" />
- </shape>
其中,破折线的宽度为dashWith,破折线之间的空隙的宽度为dashGap,当dashGap=0dp时,为实线
设置圆角:
- <?xml version="1.0" encoding="utf-8"?>
- <shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="rectangle">
- <!-- 填充颜色 -->
- <solid android:color="#FFFFFF"></solid>
- <!-- 线的宽度,颜色灰色 -->
- <stroke android:width="1dp" android:color="#63a219"></stroke>
- <!-- 矩形的圆角半径 -->
- <corners android:radius="10dp" />
- </shape>
设置渐变填充和四个圆角半径: btn_corner_press:
- <shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="rectangle">
- <!--分別對應上面左圆角的半径,上面右圆角的半径,下面左圆角的半径,下面右圆角的半径-->
- <corners
- android:topLeftRadius="0dp"
- android:topRightRadius="7dp"
- android:bottomLeftRadius="0dp"
- android:bottomRightRadius="7dp"/>
- <!--設置漸變-->
- <gradient android:startColor="#9cff00"
- android:endColor="#197600"
- android:angle="270"/>
- <stroke
- android:width="1dp"
- android:color="#63a219" />
- </shape>
设置 按下 按钮 新建 一个 新的 drawable 然后 调用以上的drawable
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/btn_corner_press" /> <item android:state_focused="true" android:drawable="@drawable/btn_corner_press" /> <item android:drawable="@drawable/btn_corner_normal" /> </selector>
设置渐变点击效果:
- <style name="list_item_top">
- <item name="android:clickable">true</item>
- <item name="android:focusable">true</item>
- <item name="android:paddingTop">10dip</item>
- <item name="android:paddingBottom">10dip</item>
- <item name="android:paddingLeft">10dip</item>
- <item name="android:paddingRight">10dip</item>
- <item name="android:gravity">center_vertical</item>
- <item name="android:background">@drawable/background_view_rounded_top</item>
- </style>
- <?xml version="1.0" encoding="UTF-8"?>
- <inset xmlns:android="http://schemas.android.com/apk/res/android"
- android:insetLeft="1.0px"
- android:insetRight="1.0px" >
- <selector>
- <item android:state_pressed="true">
- <shape>
- <gradient
- android:angle="270.0"
- android:endColor="@color/base_end_color_pressed"
- android:startColor="@color/base_start_color_pressed" />
- <corners
- android:bottomLeftRadius="0.0dip"
- android:bottomRightRadius="0.0dip"
- android:radius="2.0dip"
- android:topLeftRadius="10.0dip"
- android:topRightRadius="10.0dip" />
- <stroke
- android:width="1dp"
- android:color="#eededede" />
- </shape>
- </item>
- <item>
- <shape>
- <gradient
- android:angle="270.0"
- android:endColor="@color/base_end_color_default"
- android:startColor="@color/base_start_color_default" />
- <corners
- android:bottomLeftRadius="0.0dip"
- android:bottomRightRadius="0.0dip"
- android:radius="2.0dip"
- android:topLeftRadius="11.0dip"
- android:topRightRadius="11.0dip" />
- <stroke
- android:width="1dp"
- android:color="#eededede" />
- </shape>
- </item>
- </selector>
- </inset>
重新补充:好久没有关注自己的博客,没有注意到各位的评论,关于4.0以上设备虚线会变实线的问题,下面几位仁兄已经给出了答案,
代码中可以添加:
- line.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
xml中可以添加:
- android:layerType="software"
代码看附件:
相关推荐
在Android开发中,为UI元素添加虚线、圆角和渐变效果是常见的需求,可以提升应用的视觉吸引力。下面将详细讲解如何实现这些效果。 ### 一、虚线(Dashed Line) 在Android中,我们可以使用`Shape Drawable`来创建...
在创建圆角按钮时,我们通常会使用Shape Drawable,它允许我们定义各种形状(如矩形、椭圆)并添加填充色、边框、渐变等样式。 创建圆角按钮的第一步是在`res/drawable`目录下创建一个新的XML文件,例如命名为`...
-- 渐变类型,线性渐变 --> /> <!-- 边框属性 --> android:width="1dp" <!-- 边框宽度 --> android:color="#000000" <!-- 边框颜色 --> /> <!-- 内部填充属性 --> <solid android:color="#FFFFFF" /> <!-...
* `<corners>`:用于指定圆角的半径,可以使用`android:radius`属性指定半径,或者使用`android:topLeftRadius`、`android:topRightRadius`、`android:bottomLeftRadius`、`android:bottomRightRadius`属性指定四个...
-- 圆角 --> android:width="2dp" android:color="#00FF00" /> <!-- 边框宽度和颜色 --> </shape> ``` 3. **点击状态动画** 为了实现按钮点击时的颜色变化,我们可以在同一个形状资源文件中添加`<selector>`...
-- 所有角5dp的圆角 --> </shape> ``` 3. **自定义形状** - **椭圆**:只需将`<shape>`标签更改为`<oval>`,所有点到中心的距离相等,形成一个圆形或椭圆形。 - **线**:使用`<line>`标签,指定`android:x1`、...
-- 圆角半径 --> </shape> </item> <item android:state_focused="true"> <shape android:shape="rectangle"> <solid android:color="#FF99CCFF" /> <!-- 聚焦时的颜色 --> <corners android:radius="5dp" /> ...
-- 渐变 --> android:startColor="#ff8c00" android:endColor="#FFFFFF" android:angle="270" /> <!-- 描边 --> android:width="2dp" android:color="#dcdcdc" /> <!-- 圆角 --> android:radius=...
-- 圆角半径 --> android:left="8dp" android:right="8dp" android:top="4dp" android:bottom="4dp" /> <!-- 内边距 --> </shape> ``` 2. **设置按钮样式** 在布局文件中,将自定义的Shape作为按钮背景: ...
首先,Android系统自带了一些预设的按钮样式,如默认的`android:buttonStyle`,它通常呈现出带有边框和渐变色的矩形按钮。但开发者可以根据需求调整这些样式,使其与应用的整体设计风格保持一致。 1. **XML资源文件...
-- 圆角半径 --> android:width="1dp" android:color="@color/button_stroke_color" /> <!-- 边框颜色和宽度 --> </shape> ``` 2. **State List Drawable**: 为了处理按钮的不同状态,如默认、按下、聚焦等,...
-- 圆角5dp --> </shape> ``` - 创建一个渐变背景: ```xml <shape xmlns:android="http://schemas.android.com/apk/res/android"> android:startColor="#00FF00" android:endColor="#0000FF" android:...
-- 设置圆角 --> android:width="2dp" android:color="#000000" /> <!-- 边框,2dp宽,黑色 --> </shape> ``` 然后,在布局文件中,我们可以将这个`rect_shape.xml`作为背景应用到一个`View`上,如`Button`: ``...
-- 圆角半径 --> <stroke android:width="1dp" android:color="#000000" /> <!-- 边框 --> </shape> ``` 四、在XML布局中的引用 将`shape`资源保存在`res/drawable`目录下,然后在布局文件中通过`android:...
-- 圆角半径 --> <padding android:left="5dp" android:top="5dp" android:right="5dp" android:bottom="5dp" /> <!-- 内部填充 --> </shape> ``` 在上述代码中,`@color/your_color`和`@color/stroke_color`是...
-- 可选的渐变效果 --> </shape> </item> <item> <!-- 默认未点击时的样式 --> <shape android:shape="rectangle"> <solid android:color="#3fb3f6" /> <!-- 默认填充颜色 --> <stroke android:width="2dp" ...
-- 圆角 --> android:width="1dp" android:color="#000000" /> <!-- 边框 --> </shape> ``` 通过这种方式,开发者可以灵活地自定义UI元素的外观,实现各种复杂的设计。在实际应用中,还可以结合selector来实现...
--按钮圆角,如果单独设置会覆盖此设置--> name="corner" format="dimension" /> <!--左上角圆角半径--> name="corner_left_top" format="dimension" /> <!--左下角圆角半径--> ...
在Android开发中,UI设计是至关重要的一环,而圆角矩形框背景是常见的界面元素,常用于按钮、卡片等视图。为了实现这样的效果,开发者通常需要创建XML形状资源文件来定义圆角属性。然而,这样的做法既繁琐又不够灵活...