精华内容
下载资源
问答
  • android自定义button
    2022-04-08 10:53:39

    在drawable目录下新建button_shape.xml自定义按钮样式文件

    button_shap.xml

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
    
        <!-- 填充的颜色 -->
        <solid android:color="@color/white" />
        <!-- 设置按钮弧形 -->
        <corners
            android:radius="500dip" />
    
        <!-- padding:Button文字边界 -->
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp"
            />
    </shape>

    在布局文件中使用按钮样式  

    布局文件  android:background="@drawable/button_shape"

    <Button
                android:id="@+id/btn_click"
                android:text="启动"
                android:textSize="18dp"
                android:textColor="#9D9D9D"
                android:background="@drawable/button_shape"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginTop="20dp"
                android:layout_marginLeft="20dp"/>

    自定义样式未生效?怎么解决

    法1:在thems目录下themes.xml文件中 修改parent

    <style name="Theme.MyApplication" parent="Theme.MaterialComponents.DayNight.DarkActionBar.Bridge">

    法2:在布局文件中使用

    androidx.appcompat.widget.AppCompatButton替代Button
    <androidx.appcompat.widget.AppCompatButton
                android:id="@+id/btn_click"
                android:text="启动"
                android:textSize="18dp"
                android:textColor="#9D9D9D"
                android:background="@drawable/button_shape"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginTop="20dp"/>

    更多相关内容
  • 效果图如下所示: 一、shape 样式:(在drawable新建–》new–》Drawable resource file 在父级标签...<item android:state_pressed=true> <shape android:shape=rectangle> <solid android:color=#73c4f3> <
  • 我们在界面上经常会用到button按钮,但通常button点击后看不到点击的效果,如果用户连续点击了两次,就会报NAR错误,这样交互性就比较差了。如果我们自定义button点击效果,比如我们点击...selector xmlns:android=h
  • Android自定义Button

    2020-04-16 13:00:22
    一、在style文件中添加一个style <style name="btn">...item name="android:layout_width">match_parent</item> <item name="android:layout_height">wrap_content</item> ...

    一、在style文件中添加一个style

    <style name="btn">
            <item name="android:layout_width">match_parent</item>
            <item name="android:layout_height">wrap_content</item>
            <item name="android:padding">5dp</item>
            <item name="android:layout_marginTop">10dp</item>
            <item name="android:layout_marginBottom">10dp</item>
            <item name="android:gravity">center</item>
            <item name="android:textSize">16sp</item>
            <item name="android:textColor">@android:color/white</item>
            <item name="android:radius">2dp</item>
            <item name="android:background">@drawable/btn_commit_select</item>
        </style>
    

    二、背景部分,在drawable下新建一个btn_commit_select.xml文件

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!--    高亮状态下-->
        <item android:state_focused="true" android:drawable="@drawable/btn_h"/>
    <!--    按下-->
        <item android:state_pressed="true" android:drawable="@drawable/btn_h"/>
    <!--    选中状态-->
        <item android:state_selected="true" android:drawable="@drawable/btn_h"/>
    
    <!--    默认状态-->
        <item android:drawable="@drawable/btn_n"/>
    </selector>
    

    不同状态下显示的样式不一样,此处,除了普通状态下,其他的状态颜色较深
    高亮、选中、按下的代码在drawable目录下的btn_h.xml,代码如下

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
    <!--    颜色-->
        <solid
            android:color="@color/mainColorH"/>
    <!--    圆角-->
        <corners
            android:topLeftRadius="20dp"
            android:topRightRadius="20dp"
            android:bottomLeftRadius="20dp"
            android:bottomRightRadius="20dp"/>
    </shape>
    

    一般状态的代码在drawable目录下的btn_n.xml,代码如下

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <solid
            android:color="@color/mainColor"/>
        <corners
            android:topLeftRadius="20dp"
            android:topRightRadius="20dp"
            android:bottomLeftRadius="20dp"
            android:bottomRightRadius="20dp"/>
    </shape>
    

    三、使用

    <Button
         style="@style/btn"
         android:text="生  成"/>
    

    四、效果

    在这里插入图片描述
    撒花~~

    展开全文
  • 本文实例讲述了Android自定义Button并设置不同背景图片的方法。分享给大家供大家参考,具体如下: 1、自定义MyButton类 public class MyButton extends Button { //This constructormust be public MyButton...
  • 很多时候android常用的控件不能满足我们的需求,那么我们就需要自定义一个控件了。今天做了一个自定义控件的实例,来分享下。首先定义一个layout实现按钮内部布局:android:layout_width="fill_parent"android...

    >>>>>>>>>>>>>>>>>>>

    很多时候android常用的控件不能满足我们的需求,那么我们就需要自定义一个控件了。今天做了一个自定义控件的实例,来分享下。

    首先定义一个layout实现按钮内部布局:

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="horizontal" >

    android:id="@+id/imageView1"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_gravity="center_vertical"

    android:paddingBottom="5dip"

    android:paddingLeft="40dip"

    android:paddingTop="5dip"

    android:src="@drawable/right_icon" />

    android:id="@+id/textView1"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_gravity="center_vertical"

    android:layout_marginLeft="8dip"

    android:text="确定"

    android:textColor="#000000" />

    接下来写一个类继承LinearLayout,导入刚刚的布局,并且设置需要的方法,从而使的能在代码中控制这个自定义控件内容的显示。

    public class ImageBtn extends LinearLayout {

    private ImageView imageView;

    private TextView  textView;

    public ImageBtn(Context context) {

    super(context);

    // TODO Auto-generated constructor stub

    }

    public ImageBtn(Context context, AttributeSet attrs) {

    super(context, attrs);

    // TODO Auto-generated constructor stub

    LayoutInflater inflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    inflater.inflate(R.layout.imagebtn, this);

    imageView=(ImageView) findViewById(R.id.imageView1);

    textView=(TextView)findViewById(R.id.textView1);

    }

    /**

    * 设置图片资源

    */

    public void setImageResource(int resId) {

    imageView.setImageResource(resId);

    }

    /**

    * 设置显示的文字

    */

    public void setTextViewText(String text) {

    textView.setText(text);

    }

    }

    在需要使用这个自定义控件的layout中加入这控件,只需要在xml中加入即可。

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="horizontal" >

    android:id="@+id/btn_right"

    android:layout_height="wrap_content"

    android:layout_width="wrap_content"

    android:background="@drawable/btn"

    />

    android:id="@+id/btn_error"

    android:layout_marginLeft="5dp"

    android:layout_height="wrap_content"

    android:layout_width="wrap_content"

    android:background="@drawable/btn"

    />

    这里用到了背景图片 在drawable/btn.xml

    最后在activity中设置该控件,和其他控件差不多:

    public class IdentifyButtonActivity extends Activity {

    private ImageBtn imageBtn1;

    private ImageBtn imageBtn2;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    // TODO Auto-generated method stub

    super.onCreate(savedInstanceState);

    setContentView(R.layout.identifybutton);

    imageBtn1=(ImageBtn) this.findViewById(R.id.btn_right);

    imageBtn2=(ImageBtn) this.findViewById(R.id.btn_error);

    imageBtn1.setTextViewText("确定");

    imageBtn2.setTextViewText("取消");

    imageBtn1.setImageResource(R.drawable.right_icon);

    imageBtn2.setImageResource(R.drawable.error_icon);

    imageBtn1.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {

    // TODO Auto-generated method stub

    Toast.makeText(getApplicationContext(), "点击的正确按钮", 1).show();

    }

    });

    imageBtn2.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {

    // TODO Auto-generated method stub

    Toast.makeText(getApplicationContext(), "点击的错误按钮", 1).show();

    }

    });

    }

    }

    最后看看我们自定义控件的效果吧!

    27611c34f4e371b231e6349e93a07e54.png

    点击后还有按下按钮的效果。

    展开全文
  • NULL 博文链接:https://2528.iteye.com/blog/1164340
  • 首先写一个定义Button样式的XML文件:新建Android XML文件,类型选Drawable,根结点选selector,文件名就buton_style吧我这里获取焦点跟点击时显示的是同一张图片,必须严格照上面的顺序写,不可倒。接下来只要在布局...

    首先写一个定义Button样式的XML文件:

    新建Android XML文件,类型选Drawable,根结点选selector,文件名就buton_style吧

    我这里获取焦点跟点击时显示的是同一张图片,必须严格照上面的顺序写,不可倒。

    接下来只要在布局时写Button控件时应用到Button的Background属性即可。

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:background="@drawable/button_style">

    再加上一种自定义样式方法,上面的是用图片,其实我们可以直接通过定义xml文件来实现不同的样式:

    在上面的源代码基础上,只需要修改button_style文件,同样三种状态分开定义

    android:angle="270" />

    android:right="10dp" android:bottom="10dp" />

    android:angle="270" />

    android:right="10dp" android:bottom="10dp" />

    android:angle="180" />

    android:right="10dp" android:bottom="10dp" />

    gradient 主体渐变 startColor开始颜色,endColor结束颜色 ,angle开始渐变的角度(值只能为90的倍数,0时为左到右渐变,90时为下到上渐变,依次逆时针类推)

    stroke 边框 width 边框宽度,color 边框颜色

    corners 圆角 radius 半径,0为直角

    padding text值的相对位置

    3:实现渐变色效果:

    android:startColor="#00FF00"

    android:endColor="#C0C0C0"

    android:paddingTop="5dp"

    android:angle="0" />

    4:字体颜色配置文件:

    //用法;

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:background="@drawable/btn_ctrllist"

    android:textSize="30dip"

    android:id="@+id/button_cal"

    android:text="电话控制"/>

    当然除了使用 drawable 这样的图片外今天谈下自定义图形 shape 的方法,对于 Button 控件Android 上支持以下几种属性 shape、gradient、stroke、corners 等。

    我们就以目前系统的 Button 的 selector 为例说下:

    android:startColor="#ff8c00"

    android:endColor="#FFFFFF"

    android:angle="270" />

    android:width="2dp"

    android:color="#dcdcdc" />

    android:radius="2dp" />

    android:left="10dp"

    android:top="10dp"

    android:right="10dp"

    android:bottom="10dp" />

    对于上面,这条 shape 的定义,分别为渐变,在 gradient 中 startColor 属性为开始的颜色,endColor 为渐变结束的颜色,下面的 angle 是角度。接下来是 stroke 可以理解为边缘,corners为拐角这里 radius 属性为半径,最后是相对位置属性 padding。

    对于一个 Button 完整的定义可以为:

    android:startColor="#ff8c00"

    android:endColor="#FFFFFF"

    android:angle="270" />

    android:width="2dp"

    android:color="#dcdcdc" />

    android:radius="2dp" />

    android:left="10dp"

    android:top="10dp"

    android:right="10dp"

    android:bottom="10dp" />

    android:startColor="#ffc2b7"

    android:endColor="#ffc2b7"

    android:angle="270" />

    android:width="2dp"

    android:color="#dcdcdc" />

    android:radius="2dp" />

    android:left="10dp"

    android:top="10dp"

    android:right="10dp"

    android:bottom="10dp" />

    android:startColor="#ff9d77"

    android:endColor="#ff9d77"

    android:angle="270" />

    android:width="2dp"

    android:color="#fad3cf" />

    android:radius="2dp" />

    android:left="10dp"

    android:top="10dp"

    android:right="10dp"

    android:bottom="10dp" />

    xmlns:android="http://schemas.android.com/apk/res/android" >

    android:color="hex_color"

    android:state_pressed=["true" | "false"]

    android:state_focused=["true" | "false"]

    android:state_selected=["true" | "false"]

    android:state_active=["true" | "false"]

    android:state_checkable=["true" | "false"]

    android:state_checked=["true" | "false"]

    android:state_enabled=["true" | "false"]

    android:state_window_focused=["true" | "false"] />

    Elements:

    android:state_pressed

    Boolean。“true”表示按下状态使用(例如按钮按下);“false”表示非按下状态使用。android:state_focused

    Boolean。“true”表示聚焦状态使用(例如使用滚动球/D-pad聚焦 Button);“false”表示非聚焦状态使用。

    android:state_selected Boolean。“true”表示选中状态使用(例如 Tab 打开);“false”表示非选中状态使用。

    android:state_checkable Boolean。“true”表示可勾选状态时使用;“false”表示非可勾选状态使用。(只对能切换可勾选—非可勾选的构件有用。)android:state_checked Boolean。“true”表示勾选状态使用;“false”表示非勾选状态使用。android:state_enabled Boolean。“true”表示可用状态使用(能接收触摸/点击事件):“false”表示不可用状态使用。android:window_focused Boolean。“true”表示应用程序窗口有焦点时使用(应用程序在前台);“false”表示无焦点时使用(例如 Notification 栏拉下或对话框显示)。

    展开全文
  • android 自定义button 支持颜色,圆角,可以简单实现button颜色,圆角
  • Android开发应用中,默认的Button是由系统渲染和管理大小的。而我们看到的成功的移动应用,都是有着酷炫的外观和使用体验的。因此,我们在开发产品的时候,需要对默认按钮进行美化。在本篇里,笔者结合在应用开发...
  • Android自定义Button按钮显示样式

    千次阅读 2019-04-14 11:08:22
    今天学习自定义Button按钮样式。Button样式修改的是Button的背景(Background)属性。 首先写一个定义Button样式的XML文件: 新建Android XML文件,类型选Drawable,根结点选selector,文件名就buton_style吧。 程序...
  • android 自定义button样式 style

    千次阅读 2018-11-08 19:57:36
    1、在drawable中新建一个button_drawablw.xml文件 &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;selector xmlns:android="...
  • Android自定义button的实现,未选中,按下,选中效果.pdf
  • Android 自定义Button形状

    千次阅读 2018-08-19 17:12:43
    1. drawable 创建一个 ...shape xmlns:android="http://schemas.android.com/apk/res/android"&gt; &lt;solid android:color="@color/blue_font"/&gt; //背景颜色 &lt;co...
  • 1)自定义button样式一、采用图片方式首先新建Android XML文件,类型选Drawable,根结点选selector,自定义一个文件名。随后,开发环境自动在新建的文件里加了selector结点,我们只需要在selector结点里写上三种状态...
  • Android自定义Button按钮

    2013-04-03 15:12:12
    Android自定义Button按钮主要可以分成两种形式: 1.通过自定MyButton类来继承Button,将所有效果在类中实现. 2.通过xml文件来改变Button的样式和颜色. 今天我就先讲通过xml文件,稍后封装自定义Button类再补上. ...
  • android studio 自定义button边框,角度,渐变颜色按下时改变样式, 以及基础动画,为image view添加旋转,下移,渐变等样式,使用timer handler button进行控制。
  • android自定义Button样式(清晰简单)

    万次阅读 2016-08-28 00:52:58
    下面跟大家分享一下最近学到的一种自定义方式,以下用Button按钮来做例子: 步骤1: 在res/drawable文件夹下创建文件xml文件, 步骤2: 在步骤1中创建的文件中写入自定义样式的代码: 代码 文件名:my_style.xml
  • 本文实例讲述了Android实现自定义带文字和图片Button的方法。分享给大家供大家参考。具体分析如下: 在Android开发中经常会需要用到带文字和图片的button,下面来讲解一下常用的实现办法。 一.用系统自带的Button...
  • Android自定义Button背景色,弧度

    千次阅读 2016-05-09 15:51:09
    Android自定义Button背景色,弧度作为selector放在drawable中 android:state_pressed=”true” 点击 android:state_focused=”true” 聚焦 自定义的Button的xml文件(res/drawable/button_selector.xml)"> xmlns:...
  • Android自定义View 滑动开关按钮的实现 ,使用到自定义属性方式,可以下载学习参考。
  • Android自定义Button的背景和字体样式

    万次阅读 2013-08-26 10:52:31
    系统自带的button样式比较单调,有时候需要做好一点的UI效果就只能自己定义图片及样式了 自定义button的背景大家可能都很熟悉了,就是顶一个一个selector作为button的背景,设置选择及点击时的效果图片。 定义Button...
  • 在平时开发过程中经常会碰到需要使用圆角button的情况,一般也会包括很多其他小功能,比如要在里面添加img,设置不同的圆角大小等。 针对这样的场景,直接使用创建多个shape,定义多个xml文件也是可以实现的。但是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 96,362
精华内容 38,544
关键字:

android自定义button