Android中focusable属性的妙用——底层按钮的实现
生活随笔
收集整理的這篇文章主要介紹了
Android中focusable属性的妙用——底层按钮的实现
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
看到百威啤酒的客戶端主界面的按鈕,感覺比較新奇,先看下圖片:
注意圖中我畫的箭頭,當(dāng)時鼠標(biāo)點擊的黑色圈圈的位置,然后按鈕出現(xiàn)了按下的效果(黃色的描邊)
剛開始看到這種效果很是好奇,不知道是怎么實現(xiàn)的,后來仔細(xì)一想,應(yīng)該是整個啤酒罐是一張圖片(ImageView),該圖片是布局在三個按鈕之上,然后就是最關(guān)鍵的地方,把圖片設(shè)置為不可獲取焦點,也就是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>轉(zhuǎn)載于:https://my.oschina.net/u/1036767/blog/213979
總結(jié)
以上是生活随笔為你收集整理的Android中focusable属性的妙用——底层按钮的实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java笔记之抽象类和接口
- 下一篇: ASP.NET完整打包卸载更新攻略(By