Android中有用的组件被选中和按下去的变换样式

本文详细介绍了如何将特定的XML布局文件保存并应用于Android应用程序中,包括使用`<selector>`元素定义不同状态下的视图样式。通过实例演示了如何创建`<dockbar_selector.xml>`、`<selector_focused_shape.xml>`和`<selector_pressed_shape.xml>`等文件,并展示了在布局XML文件中如何通过`android:background`属性引用这些文件实现动态背景变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记录一下,以备日后查阅

把下面的内容保存为xml文件,并放入到drawable文件夹中:

dockbar_selector.xml

<?xml version="1.0" encoding="UTF-8"?>  
<selector  
  xmlns:android="http://schemas.android.com/apk/res/android">  
    <item android:state_pressed="true" android:drawable="@drawable/selector_pressed_shape" />  
    <item android:state_focused="true" android:state_window_focused="true" android:drawable="@drawable/selector_focused_shape" />  
    <item android:state_focused="true" android:state_window_focused="false" android:drawable="@android:color/transparent" />  
</selector>  

selector_focused_shape.xml

<?xml version="1.0" encoding="UTF-8"?>  
<shape  
  xmlns:android="http://schemas.android.com/apk/res/android">  
    <solid android:color="#ffff9000" />  
    <stroke android:width="0.0dip" android:color="#00000000" />  
    <padding android:left="0.0dip" android:top="0.0dip" android:right="0.0dip" android:bottom="0.0dip" />  
    <corners android:topLeftRadius="6.0dip" android:topRightRadius="6.0dip" android:bottomLeftRadius="6.0dip" android:bottomRightRadius="6.0dip" />  
</shape>  

selector_pressed_shape.xml

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <shape  
  3.   xmlns:android="http://schemas.android.com/apk/res/android">  
  4.     <solid android:color="#ffffba00" />  
  5.     <stroke android:width="0.0dip" android:color="#00000000" />  
  6.     <padding android:left="0.0dip" android:top="0.0dip" android:right="0.0dip" android:bottom="0.0dip" />  
  7.     <corners android:topLeftRadius="6.0dip" android:topRightRadius="6.0dip" android:bottomLeftRadius="6.0dip" android:bottomRightRadius="6.0dip" />  
  8. </shape>  

然后调用的时候,只需在layout的xml文件里面加上背景属性即可:

android:background="@drawable/dockbar_selector"  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值