步骤:

1.在drawable 文件夹中创建一个xml布局文件。

2.修改布局文件

3.在需要使用背景的按键中导入布局。

创建布局文件:

修改布局文件:

<?xml version="1.0" encoding="utf-8"?>
<!--shape:形状 rectangle 长方形-->
<!--corners 边角-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!--设置背景颜色-->
<solid android:color="@color/colorblue"/>
<!--设置角为半圆 radius 半径-->
<corners android:radius="10dp"/>
<!--bottom 下 top 上 left左 right右-->
<padding
android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp"
/> </shape>

预览效果图:

在按键中添加布局:

实际效果:

PS(椭圆按键的xml):

<?xml version="1.0" encoding="utf-8"?>
<!-- shape 形状 oval椭圆形-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<!--设置背景颜色-->
<solid android:color="@color/colorgreen"/>
<!--设置高度和宽度-->
<size android:height="30dp"
android:width="120dp"/>
<padding
android:bottom="10dp"
android:top="10dp"
android:left="10dp"
android:right="10dp"/> </shape>

android开发 写一个自定义形状的按键的更多相关文章

  1. android 开发 实现一个自定义布局的AlertDialog对话框

    对话框有很多实现方法,最常见的是在一个点击事件中代码直接写出对话框.如下: package com.example.lenovo.mydemo2; import android.content.Dia ...

  2. android 开发 写一个RecyclerView布局的聊天室,并且添加RecyclerView的点击事件

    实现思维顺序: 1.首先我们需要准备2张.9的png图片(一张图片为左边聊天泡泡,一个图片为右边的聊天泡泡),可以使用draw9patch.bat工具制作,任何图片导入到drawable中. 2.需要 ...

  3. android 开发 实现一个带图片Image的ListView

    注意:这种实现方法不是实现ListView的最优方法,只是希望通过练习了解ListView的实现原理 思维路线: 1.创建drawable文件夹将要使用的图片导入进去 2.写一个类,用于存放图片ID数 ...

  4. android 开发 实现一个app的引导页面,使用ViewPager组件(此引导的最后一页的Button会直接写在最后一页布局里,跟随布局滑进滑出)

    基本ViewPager组件使用方式与我之前写的https://blog.csdn.net/qq_37217804/article/details/80332634 这篇博客一致. 下面我们将重点详细解 ...

  5. 2016 校招, Android 开发,一个本科应届的坎坷求职之路(转)

    转载出处:http://www.nowcoder.com/discuss/3244?type=2&order=0&pos=1&page=1 和大多数的面经不同,我不是大牛,手头 ...

  6. [Android Pro] Android开发实践:自定义ViewGroup的onLayout()分析

    reference to : http://www.linuxidc.com/Linux/2014-12/110165.htm 前一篇文章主要讲了自定义View为什么要重载onMeasure()方法( ...

  7. android 开发 实现一个activity变成dialog对话框

    效果图: 首先说说为什么需要大费周章的去用activity实现一个dialog,明明android系统已经提供了一个更方便的dialog了.原因如下: 1.activity模式的dialog可以实现更 ...

  8. android 开发 实现一个ListView套嵌GirdView的滚动布局

    效果图 实现思维: 首先要处理管理好需要导入的数据,我们这里创建class来处理这些数据并且便于管理它们. 创建一个主activity的布局,里面需要一个ListView控件. 创建一个class继承 ...

  9. android 开发 实现一个app的引导查看页面(使用ViewPager组件)

    我们安装完app后第一次打开app,通常都会有一个翻页图片形式的app引导简介说明.下面我们来实现这个功能.ViewPager这个组件与ListView和RecyclerView在使用上有很高的相似处 ...

随机推荐

  1. 使用shell脚本批处理控制大数据环境服务启动停止

    三台集群机器: master   192.168.168.200 slave1     192.168.168.201 slave2     192.168.168.202 1.start-maste ...

  2. 阅读<Vivado Design Suite Tutorial---Logic Simulation>笔记

    阅读<Vivado Design Suite Tutorial---Logic Simulation>笔记 1.建工程,添加仿真文件 2.在IP Catalog里面添加IP核 Sine_h ...

  3. MySQL5.7 GTID 浅析

    https://yq.aliyun.com/articles/68441 摘要: # GTID 简介 GTID (global transaction identifier)在MySQL5.6时引入, ...

  4. Wsus 清理的计划任务

    <# Get-ExecutionPolicy 默认为 RemoteSigned 该签名设置 Set-ExecutionPolicy Unrestricted 添加到排除 powershell - ...

  5. IIS - 自动申请、部署Let's Encrypt的免费SSL证书(让网站实现HTTPS协议)

    IIS - 自动申请.部署Let's Encrypt的免费SSL证书(让网站实现HTTPS协议) 2017-12-19发布:hangge阅读:161   一.HTTPS 协议介绍 1,什么是 HTTP ...

  6. Intellij Idea编译项目下的.java文件时的编码问题

    Intellij Idea编译项目下的.java文件时的编码问题 原创 2015年07月22日 21:45:14 10510 由<编译.java文件时的编码问题>可知,在编译.java文件 ...

  7. googletest基本测试宏

    还不知道googletest基本使用方法的请参看前一篇blog  使用googletest进行C++单元测试 本篇仍然使用testStack测试文件进行测试,测试代码如下 #include <g ...

  8. 【HTTP】使用 RestTemplete 实现 post请求

    如上图,要求: post请求; x-www-form-urlencoded 类型; 如下代码没有进行整理,但是测试OK package com.chinamobile.epic.http; impor ...

  9. 关于Eclipse无法显示package Explorer 内容的解决方法

    今天电脑不知道怎么搞的抽风了, package explorer等内容完全无法显示.用window->view方法手动添加还是setpreView都没有办法解决. 网上搜了半天也没有解决办法.无 ...

  10. 【转】SOA架构设计经验分享—架构、职责、数据一致性

      1.背景介绍       最近一段时间都在做系统分析和设计工作,面对的业务是典型的重量级企业应用方向.突然发现很多以往觉得很简单的问题变得没有想象的那么容易,最大的问题就 是职责如何分配.论系统架 ...