• view的focusable属性改变设置是否可获取光标


    注意图中我画的箭头,当时鼠标点击的黑色圈圈的位置,然后按钮出现了按下的效果(黄色的描边)

    刚开始看到这种效果很是好奇,不知道是怎么实现的,后来仔细一想,应该是整个啤酒罐是一张图片(ImageView),该图片是布局在三个按钮之上,然后就是最关键的地方,把图片设置为不可获取焦点,也就是android:focusable="false" ,就这样简单的一行,就可以搞定了!

    main.xml:

    <?xml version="1.0" encoding="utf-8"?>   
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"   
        android:layout_width="fill_parent"   
        android:layout_height="fill_parent"   
        >   
        <LinearLayout   
            android:layout_width="match_parent"   
            android:layout_height="wrap_content"   
            android:orientation="vertical" >   
            <Button   
                android:layout_width="match_parent"   
                android:layout_height="wrap_content"   
                android:layout_margin="10dp"   
                android:text="button1"   
                android:background="@drawable/button_selector"   
                />      
            <Button   
                android:layout_width="match_parent"   
                android:layout_height="wrap_content"   
                android:layout_margin="10dp"   
                android:text="button2"   
                android:background="@drawable/button_selector"   
                />    
            <Button   
                android:layout_width="match_parent"   
                android:layout_height="wrap_content"   
                android:layout_margin="10dp"   
                android:text="button3"   
                android:background="@drawable/button_selector"   
                />    
        </LinearLayout>   
        <ImageView   
            android:layout_width="wrap_content"   
            android:layout_height="wrap_content"   
            android:src="@drawable/bg2"   
            android:focusable="false"   
            />   
    </RelativeLayout> 
    

      button_selector.xml:

    <?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="#8470FF"/>   
                <!-- 描边 -->   
                <stroke   
                    android:width="2dp"   
                    android:color="#FFFF00"/>   
                <!-- 圆角 -->   
                <corners   
                    android:radius="5dp" />   
                <padding   
                    android:left="10dp"   
                    android:top="10dp"   
                    android:right="10dp"   
                    android:bottom="10dp" />   
            </shape>   
        </item>   
     
        <item>         
            <shape>   
                <!-- 实心,即填充 -->   
                <solid android:color="#8470FF"/>   
                <corners   
                    android:radius="5dp" />   
                <padding   
                    android:left="10dp"   
                    android:top="10dp"   
                    android:right="10dp"   
                    android:bottom="10dp" />   
            </shape>   
        </item>   
    </selector> 
    

      搞定。

  • 相关阅读:
    最全的常用正则表达式大全--包括校验数字、字符、一些特殊的需求等【转】
    【转】浏览器“后退”、“前进”或可以这么去监听
    vue单页面title修改
    Vue.js中ref ($refs)用法举例总结
    js 程序执行与顺序实现详解
    $(document).ready和window.onload的区别 【转】
    linq to xml(C#)
    TCP/IP|| 建立连接或终止
    TCP/IP TCP
    TCP/IP DNS
  • 原文地址:https://www.cnblogs.com/lixiangyang521/p/5394697.html
Copyright © 2020-2023  润新知