美文网首页
Android代码片段(持续更新中)

Android代码片段(持续更新中)

作者: 秀儿2020 | 来源:发表于2021-05-10 14:53 被阅读0次

背景图片中实现图片的平铺效果

在定义的shape中添加背景图

选中非选中背景切换

选中非选中文本颜色切换

String.xml中引用公共item

ClickableSpan 移除文字下划线

背景图片中实现图片的平铺效果

<?xml version="1.0" encoding="utf-8"?>  
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"   
android:src="@drawable/bg"   
android:tileMode="repeat" /> 

在定义的shape中添加背景图

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <shape android:shape="rectangle" android:padding="10dp">
            <corners
                 android:bottomRightRadius="5dp"
                 android:bottomLeftRadius="5dp"
                 android:topLeftRadius="5dp"
                 android:topRightRadius="5dp"/>
         </shape>
   </item>
   <item android:drawable="@drawable/image_name_here" />
</layer-list>

选中非选中背景切换

在drawable文件夹中创建xml文件,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/privacy_top_unselected" android:state_checked="false" />
    <item android:drawable="@drawable/privacy_top_selected" android:state_checked="true" />
    <item android:drawable="@drawable/privacy_top_selected" />
</selector>

选中非选中文本颜色切换

在res文件夹中创建color文件夹,在其中创建xml文件,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:color="@color/white"></item>
    <item android:state_checked="false" android:color="@color/black"></item>
</selector>

String.xml中引用公共item

在resources之上添加

<!DOCTYPE resources [
    <!ENTITY ctrl_policy "\n">
    <!ENTITY span_policy "">
    ]>
<resources>

然后在别的string处按如下方式引用

<string name="dialog_policy_content1">&span_policy;Hello World!</string>

ClickableSpan 移除文字下划线

关键点,重写updateDrawState方法。

  //设置部分文字点击事件
        ClickableSpan clickableSpan2 = new ClickableSpan() {
            @Override
            public void onClick(View widget) {
            }
            // 移除下划线 Described by lxj on 2020/12/22 15:51
            @Override
            public void updateDrawState(@NonNull TextPaint ds) {
                super.updateDrawState(ds);
                ds.setUnderlineText(false);
            }
        };

相关文章

网友评论

      本文标题:Android代码片段(持续更新中)

      本文链接:https://www.haomeiwen.com/subject/enridltx.html