• 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> 
    

      搞定。

  • 相关阅读:
    <转载> diff 和 patch 命令
    JZ2440开发板之LCD
    发音篇--第一章
    JZ2440开发板之系统始终和串口
    【还是用回csdn了,这个blog就不更新了】
    MyBatis 汉字作为查询条件查询不到 MySQL 中的结果
    LeetCode 617. 合并二叉树 Merge Two Binary Tree
    LeetCode 454. 四数相加 II 4Sum II
    LeetCode 441. 排列硬币 Arranging Coins
    leetcode ——从排序数组中删除重复项 II
  • 原文地址:https://www.cnblogs.com/lixiangyang521/p/5394697.html
Copyright © 2020-2023  润新知