android select采用代码实现按钮背景

采用selector+图片的方式实现,需要单独添加图片,但是有些形状可以直接使用代码生成,编写方式如下


<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true"><shape>
            <solid android:color="@color/color_default_ccc" />

            <corners
                android:radius="2.5dp" />
        </shape>
        
    </item>
    <item android:state_checked="true">
            <shape>
                <solid android:color="@color/color_default_ccc" />

                
            <corners
                android:radius="2.5dp" />
            </shape>
        
    </item>
    
    <item>
       
            <shape>
             		<solid android:color="@color/transparent" />
   			
    				<stroke
       					 android:width="0.5dp"
       				 	android:color="@color/color_default_999" />
            		<corners
               				 android:radius="2.5dp"  />
            </shape>
        
     </item>

</selector>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现 Android 11 的 HCE 功能,需要进行以下步骤: 1. 在 AndroidManifest.xml 文件中声明 HCE 服务: ```xml <service android:name=".MyHceService" android:exported="true" android:permission="android.permission.BIND_NFC_SERVICE"> <intent-filter> <action android:name="android.nfc.cardemulation.action.HOST_APDU_SERVICE"/> </intent-filter> <meta-data android:name="android.nfc.cardemulation.host_apdu_service" android:resource="@xml/hceservice"/> </service> ``` 其中,`MyHceService` 是你自己定义的服务类名,`@xml/hceservice` 是一个 XML 文件,用于配置 HCE 服务的参数。 2. 在 res/xml 目录下创建 hceservice.xml 文件,配置 HCE 服务的参数,例如: ```xml <host-apdu-service xmlns:android="http://schemas.android.com/apk/res/android" android:requireDeviceUnlock="false" android:aid-group="F0010203040506" android:banner="@drawable/ic_launcher" android:description="@string/hce_service_description"> <apdu-service-banner> <drawable android:resource="@drawable/ic_launcher"/> </apdu-service-banner> <se-id-selection-method> <se-id-choice> <description>My HCE Card</description> <se-id>com.example.myhcetest</se-id> </se-id-choice> </se-id-selection-method> </host-apdu-service> ``` 其中,`android:aid-group` 指定了 HCE 服务的应用程序标识符 (AID),`android:banner` 和 `android:description` 分别指定了 HCE 服务的图标和描述信息。 3. 在 MyHceService 类中重写 `onBind()` 和 `processCommandApdu()` 方法,实现 HCE 服务的功能,例如: ```java public class MyHceService extends HostApduService { private static final byte[] AID = { (byte)0xF0, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 }; private static final byte[] SELECT_OK_SW = {(byte) 0x90, 0x00}; @Override public void onDeactivated(int reason) { // HCE 服务被停用时的处理 } @Override public byte[] processCommandApdu(byte[] apdu, Bundle extras) { if (Arrays.equals(apdu, SELECT_APDU)) { return SELECT_OK_SW; } else { // 处理其他 APDU 指令 } } } ``` 在 `processCommandApdu()` 方法中,可以根据传入的 APDU 指令进行相应的处理,例如返回响应数据。 以上就是 Android 11 完整代码实现接收全部的 HCE 的步骤。需要注意的是,实现 HCE 功能需要确保设备支持 NFC 功能,并且用户已经打开了 NFC 功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值