zoukankan      html  css  js  c++  java
  • android:focusable的使用

    看到百威啤酒的客户端主界面的按钮,感觉比较新奇,先看下图片:

    bw

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

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

    为了验证我的想法,我建了一个工程来做测试,效果如下图所示:

    bw2

    具体代码如下:

    main.xml:

    <?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout xmlns:android="
    http://schemas.android.com/apk/res/android" 
        android:layout_;fill_parent" 
        android:layout_height="fill_parent" 
        > 
        <LinearLayout 
            android:layout_;match_parent" 
            android:layout_height="wrap_content" 
            android:orientation="vertical" > 
            <Button 
                android:layout_;match_parent" 
                android:layout_height="wrap_content" 
                android:layout_margin="10dp" 
                android:text="button1" 
                android:background="@drawable/button_selector" 
                />    
            <Button 
                android:layout_;match_parent" 
                android:layout_height="wrap_content" 
                android:layout_margin="10dp" 
                android:text="button2" 
                android:background="@drawable/button_selector" 
                />  
            <Button 
                android:layout_;match_parent" 
                android:layout_height="wrap_content" 
                android:layout_margin="10dp" 
                android:text="button3" 
                android:background="@drawable/button_selector" 
                />  
        </LinearLayout> 
        <ImageView 
            android:layout_;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:;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>

    关于button_selector.xml中shape的使用有疑问的可以看我上次的文章:Android中shape的使用

    ok,就说这么多……

  • 相关阅读:
    python 环境搭建
    马后炮之12306抢票工具(四)--抢票Demo,2014年1月9日终结版
    Office2013插件开发Outlook篇(2)-- Ribbon
    Office2013插件开发Outlook篇(1)-- 第一个office2013插件
    ExtJS4随笔(1) -- 在VS中加入Ext4的智能提示
    PHP中使用CURL请求页面,使用fiddler进行抓包
    微博公众平台(二)-- Token验证代码
    微博公众平台(一)-- 开发者接口配置信息
    cookie介绍
    jquery--工具插件
  • 原文地址:https://www.cnblogs.com/zhanglanyun/p/2709681.html
Copyright © 2011-2022 走看看