Android Drawable之Shape使用小案例(一)

Android Drawable - Shape Drawable使用详解(附图) 如有问题或者疑问,可以邮件mkosto@foxmail.com 阅读详情

日常开发中少不了自己画shape,那么接下来就通过几个小案例来学习一下吧
效果图

按照上图先后顺序的效果
圆角矩形

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <!--圆形shape-->

    <!-- 填充颜色 -->
    <solid android:color="#B848FF"></solid>

    <!--线的宽度,颜色灰色-->
    <stroke
        android:width="2dp"
        android:color="#777777"></stroke>

    <!-- 矩形的圆角半径 -->
    <corners android:radius="5dp" />

</shape>

圆角矩形虚线

<?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="#D5D5D5"
        android:dashGap="3dp"
        android:dashWidth="10dp"></stroke>

    <!-- 矩形的圆角半径 -->
    <corners android:radius="10dp" />
</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">
    <!--半圆角渐变-->

    <!--分別對應上面左圆角的半径,上面右圆角的半径,下面左圆角的半径,下面右圆角的半径-->
    <corners
        android:bottomLeftRadius="0dp"
        android:bottomRightRadius="0dp"
        android:topLeftRadius="5dp"
        android:topRightRadius="5dp" />

    <!--设置渐变-->
    <gradient
        android:angle="0"
        android:endColor="#FFFFFF"
        android:startColor="#D5D5D5" />

    <!--即android:angle=“0”时,是从左到右,按照开始颜色到结束颜色来渲染 的,
    android:angle=“90”是从上到下来渲染的,android:angle=“180”是从右到左来渲染 的,
    android:angle=“360”和android:angle=“0”是一样的,所以这里应该是这样的,
    渲染时按照最原始的渲染色板(把控件内部看作一块可以绕中心旋转的板子)围绕控
    件中心来旋转相应的度数,即android:angle里面的值就是所需要旋转的角度,
    只是这个旋转角度必须是45的整数倍-->

    <stroke
        android:width="1dp"
        android:color="#D5D5D5" />
</shape>

圆形

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <!--圆形shape-->

    <!-- 填充颜色 -->
    <solid android:color="#B848FF"></solid>

    <!--线的宽度,颜色灰色-->
    <stroke
        android:width="2dp"
        android:color="#777777"></stroke>

    <!-- 矩形的圆角半径 -->
    <corners android:radius="5dp" />

</shape>

注:这里需要主要的是,在使用圆形shape时,必须将控件宽度和高度设置为一样

布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.drawableshapoe.MainActivity">

    <TextView
        android:layout_width="200dp"
        android:layout_height="25dp"
        android:background="@drawable/rounded_rectangle_shape"
        android:gravity="center_vertical|center_horizontal"
        android:text="Hello World!" />

    <TextView
        android:layout_width="200dp"
        android:layout_height="25dp"
        android:layout_marginTop="10dp"
        android:background="@drawable/rounded_rectangle_dotted_line_shape"
        android:gravity="center_vertical|center_horizontal"
        android:text="Hello World!" />

    <TextView
        android:layout_width="200dp"
        android:layout_height="25dp"
        android:layout_marginTop="10dp"
        android:background="@drawable/rounded_half_rectangle_gradient_shape"
        android:gravity="center_vertical|center_horizontal"
        android:text="Hello World!" />

    <TextView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_marginTop="10dp"
        android:background="@drawable/rounded_oval_shape"
        android:gravity="center_vertical|center_horizontal"
        android:text="Hello World!" />
</LinearLayout>

源码
github:https://github.com/Waylenw/AndroidBase

Android Drawable文件下shape和selector的使用 关于shape和selector 在android界面布局中,很多需要自定义样式的地方,经常会使用到shape和selector的,可以用简单的代码写出我们想要的样式。下面分别进行详细说明 shape的使用 从字义上就可以知道它是用来定义形状的,具体操作如下: 在res/drawable文件下新建drawable resource文件 新建为shape类型: 生成的shape文件之... 阅读详情

相关推荐

ShapeDrawable实例

关于ShapeDrawable的应用实例

shape的案例

//这个是外面的线             android:width="1dp"         android:color="@color/definered" />//这个是内部颜色             android:topRightRadius="10dip"         android:bottomRightRadius="10dip"    

u011268642的专栏 363

Abaqus滞回问题求解—浆锚连接装配式剪力墙滞回模拟

当下土木工程研究生,多数都在从事装配式混凝土构件安全或装配式混凝土构件连接节点力学性能的研究。研究这类问题,几乎脱离不开对有限元软件的使用,Abaqus求解能力非常强大,但模型处理能力相对较弱。装配式混凝土结构的有限元计算与传统现浇结构相比,其节点处理起来相对复杂,计算结果往往需要凸显出连接节点力学特性,所以对建模精程度的要求较高。所以向大家介绍一款工具—HyperMesh软件(一下简称Hm),它是专业的有限元前处理工具,用于处理装配式混凝土构件或连接节点有限元模型比较合适。这篇文章主要介绍如何利用Hm处理

qq_31918049的博客 2902

Shape案例(继承)

Shapepublic abstract class Shape { private double area; private double per; private String color; public Shape() { } public Shape(String color) { this.color = color; } public abstract d...

Redundant. 927

日前日内多阶段多时间尺度源荷储协调调度(matlab代码)

多阶段多时间尺度的协调调度的优势是考虑新能源出力的波 动性与随机性,需求响应负荷的不确定性会对电网制定的日前调度计划准确性造成影响,也就是能够更加精准的进行调度和分析,优化结果的可用性更强。在这方面论文里面,金力的《考虑特性分布的储能电站接入的电网多时间尺度源储荷协调调度策略》就考虑了日前日内实时三个阶段调度,每个阶段考虑了不同负荷需求响应策略,同时考虑了负荷波动性的影响,具有很强的参考意义。 目录 一、模型 二、程序运行 三、程序链接 一、模型 负荷需求响应考虑电价型和激励型两种,电.

zhangxd212489的博客 7915

CloudCompare 二次开发(16)——计算点云最值

不依赖任何第三方点云相关库,使用ClopudCompare计算点云最值。

点云侠的博客 518

Android 有趣的文本特效

无意间看到的,只支持英文,暂不支持中文,娱乐即可效果图:项目地址:点击访问使用方法:1.添加依赖:compile 'com.roger.match.library:library:1.0.1'2.使用指定的View: //TextView <com.roger.match.library.MatchTextView match:text="This is TextV

fan7983377的博客 967

【深度学习】最强算法之:残差网络(ResNet)

一篇掌握深度学习算法之:残差网络

商务合作 | 面试培训 | 职场规划 ==>主页扫码 7837

Android Drawable,Shape,ColorMatrix

Drawable的子类有StateListDrawable,NinePatchDrawable、BitmapDrawable、AnimationDrawable。

3022

USB2.0协议解读

就写到这吧,其他协议层等属于软件需要了解的东西了。简单看了下,本文总结的有点乱,有两个原因吧,其一是理解的不够透彻,无法用简单明了的语言总结;其二是感觉这个协议文档章节划分的也不是很好,有点大杂烩。

qflook的博客 3673

conda upgrade出现Solving environment:failed CondaValueError Malformed version string invalid chars解决方案

本文主要介绍了conda install出现Solving environment:failed、CondaValueError: Malformed version string invalid character(s),希望能对使用conda的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案 2.1 步骤一 2.2 步骤二

weixin_43178406的博客 8万+

Android中Shape Drawable在xml中的使用

关于Shape使用的官方文档: http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape Android中常常使用shape来定义控件的一些显示属性,下面是Shape中的所有属性及一个简单的示例: <shape xmlns:android="http://schemas.

ygc87的专栏 1万+

2-1 AUTOSAR ASW概述

应用软件层(Application Software Layer,ASW)位于AUTOSAR整个架构的顶层。它由各种AUTOSAR Software Component(SW-C)组成,每个SW-C封装了各种应用的功能集。每个SW-C只能运行在一个ECU中。ASW层的设计目标是实现功能的可重用性和可配置性。它通过封装底层提供的服务,为上层应用层提供统一的接口。ASW层的开发可以基于AUTOSAR提供的标准化软件组件,也可以根据具体需求进行定制开发。

qq_42357877的博客 1904

android Shape Drawable创建两边半圆的按钮背景

android:shape="rectangle">                                                        ?xml version="1.0" encoding="utf-8"?>     xmlns:android="http://schemas.android.com/ap

ThunderRong的博客 7849

【100%通过率】华为OD机试真题 Python 实现【打印机队列】【2022.11 Q4 新题】

有5台打印机打印文件,每台打印机有自己的待打印队列。因为打印的文件内容有轻重缓急之分,所以队列中的文件有1~10不同的代先级,其中数字越大优先级越高。打印机会从自己的待打印队列中选择优先级最高的文件来打印。如果存在两个优先级一样的文件,则选择最早进入队列的那个文件。现在请你来模拟这5台打印机的打印过程。

MISAYAONE的博客 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Android程序Shape使用总结!

在Android程序开发中,我们经常会去用到Shape这个东西去定义各种各样的形状。首先我们了解一下Shape下面有哪些标签,都代表什么意思:solid:填充 android:color指定填充的颜色gradient:渐变 android:startColor和android:endColor分别为起始和结束颜色,android:angle是渐变角度,必须为45的整数倍。另外渐变默认的模式为android:type=“linear”,即线性渐变,

huahaiyi的博客 4434

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Android UI美化之Shape Drawable的使用

想美化一下程序里的EditText,发现网上关于美化的文章较少,即使有也大多是直接翻译文档,索性一边研读一边写例子。 先看一下文档对Shape Drawable的描述: Shape DrawableAn XML file that defines a geometric shape, including colors and gradients. Creates aShapeDrawabl

司光鹏的技术博客 1184

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

android drawable xml文件 之 shape

一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景。但是,也肯定也有人在能使用 Drawable 的地方选择使用一张 png 图(或者是一张 .9 图)作为 View 的背景,因为后者把问题交给 UI 设计人员去了,省事。当然,使用图片这种在项目中也很常见,如果不考虑 apk 大小,内存占用问题的话,是没...

yangxinyue315的专栏 737

Android shape Drawable的使用

1、首先我们来看看在Android开发的过程中哪些地方会需要用到Android shape 比如要实现下面的这个登陆界面中的名称和密码输入框: 分析其中实现这个布局的方法之一: ①这个界面的控件整体居中,所以可以使用一个线性布局设置其属性为:android:gravity="center_horizontal"来存放各个控件。 ②依次放置ImageView、TextView ③然

Fu.H.L 1718

Android drawable shape

圆环嵌套圆形 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="oval"> <corners android:radius="31dp" />

嗯... 611

android中的shape资源,Android中drawable使用Shape资源

本文实例为大家分享了drawable使用Shape资源的具体内容,供大家参考,具体内容如下1.画一条水平方向的虚线android:shape="line" >android:dashGap="3dp"android:dashWidth="6dp"android:width="1dp"android:color="#FF8C69" />Android:width=”1dp” 为线条的高度...

weixin_39611754的博客 197

Android xml中定义的shape与Drawable之间的关系

最近遇到一个项目,需要设置非常多不同颜色的小标签: 等等; 这种情况很多同学第一反应肯定是写xml来定义shape完成这样的样式; 可是他们没有想过,如果非常多的颜色的时候,那都要为每一份颜色写一个xml文件吗?当然,这样的代码是没法让人接受的。 笔者在这样的情况下尝试了很多种写法: 1.重写TextView, 在onDraw中重新生成一份Bitmap来作为背景。

u014592587的专栏 5160

安卓背景background之shape属性介绍

通过使用 Shape Drawable,您可以方便地创建具有各种样式的背景,增强应用的视觉效果。

mantouzai的博客 975

Android Studio在drawable文件夹创建xml的shape、selector等文件

平时我们创建xml的shape类型文件:选择drawable——右击选择New——Drawable resource file; 随后弹出了New Resource File页面,但是却没有我们想要的文件—— 原因出在哪里呢?那我们就不能按照常理出牌了。只需要在Res文件下新建xml,那么问题就都能解决 下面就可以尽情的写shape\selector文件了

TrineaShao' Blog 6551

Android之shape标签

Android之shape标签 文章目录Android之shape标签前言1.使用shape标签的好处2.shape所能绘制的图形3.使用shape图形的例子3.1 圆角按钮3.2 圆形或者椭圆3.3 实线与虚线3.4 渐变图层4.动态使用shape4.1直接创建一个GradientDrawbale4.2 得到view的background,并对其进行修改 前言 shape算是我们常用的一个标签,他可以生成线条,矩形, 圆形, 圆环,像我们圆角的按钮就可以通过shape来实现,最终Android会把这个带有

Demon_T的博客 1245
上一篇: Android布局优化总结
下一篇: Java Map集合遍历的三种方法
西瓜cc
博客等级 码龄12年 29粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值