zoukankan      html  css  js  c++  java
  • 一手遮天 Android

    项目地址 https://github.com/webabcd/AndroidDemo
    作者 webabcd

    一手遮天 Android - view(按钮类): Button 样式

    示例如下:

    /view/button/ButtonDemo2.java

    /**
     * Button - 按钮控件(继承自 TextView)
     *
     *
     * 本例介绍 Button 的样式
     */
    
    package com.webabcd.androiddemo.view.button;
    
    import androidx.appcompat.app.AppCompatActivity;
    import android.os.Bundle;
    import android.widget.Button;
    
    import com.webabcd.androiddemo.R;
    
    public class ButtonDemo2 extends AppCompatActivity {
    
        private Button _button3;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_view_button_buttondemo2);
    
            _button3 = (Button) findViewById(R.id.button3);
    
            sample();
        }
    
        private void sample() {
            // 将 button 设置为不可用
            _button3.setEnabled(false);
    
            // 设置 button 的各种状态下的背景样式(详见 drawable/selector_button_background.xml)
            _button3.setBackgroundResource(R.drawable.selector_button_background);
    
            // 设置 button 的各种状态下的文字颜色(详见 color/selector_button_textcolor.xml)
            _button3.setTextColor(getResources().getColorStateList(R.color.selector_button_textcolor));
        }
    }
    
    

    /layout/activity_view_button_buttondemo2.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <!--
            设置 button 的背景样式(详见 drawable/shape_button_background.xml)
            设置 button 的文字颜色
        -->
        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/shape_button_background"
            android:textColor="@color/orange"
            android:text="按钮 1" />
    
        <!--
            设置 button 的各种状态下的背景样式(详见 drawable/selector_button_background.xml)
            设置 button 的各种状态下的文字颜色(详见 color/selector_button_textcolor.xml)
        -->
        <Button
            android:id="@+id/button2"
            android:layout_marginTop="10dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/selector_button_background"
            android:textColor="@color/selector_button_textcolor"
            android:text="按钮 2" />
    
        <!--
            在 java 中设置 button 的各种状态下的背景样式和文字颜色
        -->
        <Button
            android:id="@+id/button3"
            android:layout_marginTop="10dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="按钮 3" />
    
    </LinearLayout>
    
    

    /drawable/selector_button_background.xml

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    
        <!--
            state_enabled="false" - 按钮不可用
            state_pressed="false" - 按钮没有被按下
            state_pressed="true" - 按钮被按下
    
            注意:
            1、selector 是按照顺序匹配状态的,先匹配到哪个就用哪个。比如一个按钮既是 state_enabled="false" 又是 state_pressed="false",那么就看哪个状态的定义靠前就用哪个状态的样式
            2、一个 item 是可以有多个 state 的
        -->
    
        <item android:state_enabled="false">
            <shape>
                <solid android:color="@color/gray" />
                <stroke android:width="1dp" android:color="@color/blue" />
                <corners android:radius="5dp" />
            </shape>
        </item>
        <item android:state_pressed="false">
            <shape>
                <solid android:color="@color/red" />
                <stroke android:width="1dp" android:color="@color/blue" />
                <corners android:radius="5dp" />
            </shape>
        </item>
        <item android:state_pressed="true">
            <shape>
                <solid android:color="@color/green" />
                <stroke android:width="1dp" android:color="@color/blue" />
                <corners android:radius="5dp" />
            </shape>
        </item>
    </selector>
    

    项目地址 https://github.com/webabcd/AndroidDemo
    作者 webabcd

  • 相关阅读:
    02-02:springboot 整合filter
    02-01:springboot整合servlet开发
    01-SpringBoot项目:helloworld
    SpringBoot
    JavaScript面试题
    vue的生命周期
    小程序下的兼容性问题
    短短几行css代码实现滚动条效果
    Apache服务器的安装和配置
    闭包
  • 原文地址:https://www.cnblogs.com/webabcd/p/android_view_button_ButtonDemo2.html
Copyright © 2011-2022 走看看