安卓修改RadioButton圓圈樣式(非直接圖片替換)
用Android Studio做安卓開發的時候,使用RadioButton會有系統預設樣式,比如:在unchecked狀態下是黑色邊框+空心圓樣式;checked狀態下是粉紅色邊框+中間一個粉紅色原點(如下)。
但是有時候我們想要改變前面圓圈的樣式,那麼怎麼修改呢?
可能很多同學網上找到的解決方案,大都是在/drawable下新建一個radio**.xml檔案,在<selector>下的<item>下設定當android:state_checked為true/false時,設定android:drawable為/drawable下的不同狀態的圖片。
那麼問題來了,如果我並沒有兩種狀態的圖片,比如只是想改一下邊框顏色、點選後的顏色
其實原理也很簡單,而且跟上面的圖片替換也很類似,不過上面的是替換/drawable資料夾下的圖片,這裡介紹的方法是替換/drawable資料夾下的.xml樣式檔案。步驟如下:
1、先在/drawable資料夾下建立RadioButton狀態切換檔案,比如radio_button_style.xml
<selector>標籤下的兩個<item>標籤分別定義兩種狀態:checked和unchecked(從上面的state_checked反映)。當被checked時,RadioButton切換到radiobtn_checked_style狀態;否則,切換radiobtn_unchecked_style狀態。<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="true" android:state_checked="true" android:drawable="@drawable/radiobtn_checked_style" /> <item android:state_enabled="true" android:state_checked="false" android:drawable="@drawable/radiobtn_unchecked_style" /> </selector>
2、好了,上面兩個狀態其實是/drawable資料夾下的兩個.xml佈局檔案radiobtn_checked_style.xml和radiobtn_unchecked_style.xml。以下分別是兩個佈局檔案的程式碼:
radiobtn_checked_style.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners
android:radius="@dimen/pswRadioButtonWidth"/>
<solid
android:color="@color/buttonColorIn"/>
<size
android:height="@dimen/pswRadioButtonWidth"
android:width="@dimen/pswRadioButtonWidth"/>
<stroke
android:width="@dimen/pswRadioButtonStrokeWidth"
android:color="@color/buttonStroke"/>
</shape>
radiobtn_unchecked_style.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners
android:radius="@dimen/pswRadioButtonWidth"/>
<solid
android:color="@color/buttonColor"/>
<size
android:height="@dimen/pswRadioButtonWidth"
android:width="@dimen/pswRadioButtonWidth"/>
<stroke
android:width="@dimen/pswRadioButtonStrokeWidth"
android:color="@color/buttonStroke"/>
</shape>
(1)根標籤必須改為<shape>
(2)<size>標籤,定義RadioButton的大小(寬高)
(3)<corners>標籤,定義原來矩形4個直角的完全程度(與width/heigth一致則為圓角)
(4)<solid>為中間填充顏色
(5)<stroke>為邊框屬性
(當然shape還有一些其他屬性,在這裡沒用上就沒寫出來)
3、好了,定義好佈局,最後在整體佈局的RadioButton下把狀態切換檔案radio_button_style.xml加到android:button屬性下即可。比如:
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/pswRadioBtn1"
android:layout_marginTop="20dp"
android:checked="false"
android:layout_below="@+id/hintText"
android:layout_alignEnd="@+id/button1"
android:clickable="false"
android:button="@drawable/radio_button_style" />
4、最後展示一下我寫的RadioButton,在沒有新增切換圖片下的自定義效果:
unchecked:
checked:
很像iOS的效果是不是!!
相關推薦
安卓修改RadioButton圓圈樣式(非直接圖片替換)
用Android Studio做安卓開發的時候,使用RadioButton會有系統預設樣式,比如:在unchecked狀態下是黑色邊框+空心圓樣式;checked狀態下是粉紅色邊框+中間一個粉紅色原
修改radiobutton圓圈樣式
用Android Studio做安卓開發的時候,使用RadioButton會有系統預設樣式,比如:在unchecked狀態下是黑色邊框+空心圓樣式;checked狀態下是粉紅色邊框+中間一個粉紅色原點(如下)。 但是有時候我們想要改變前面圓圈的樣式,那麼怎麼修改呢?
unity安卓包大小壓縮優化(146M優化到83M)
想要壓縮包大小,首先得知道打包出來的各個資源的大小,明確知道哪些資源佔用大,可以通過如下操作開啟Editor.log(可能需要先輸出一遍安卓包) 1、在Unity Console介面右上角點開Open Editor Log 2、壓縮包的辦法就是把每個圖片都設定packi
安卓APP底部導航欄(有訊息圓點指示器),實現fragment切換(eclipse)
本專案使用了相對佈局和單選按鈕實現了安卓app常見的底部導航欄(帶有訊息圓點指示器),效果如果所示 一、佈局程式碼如下: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/androi
JQ 實現點選連結滾動到指定位置。(非直接跳轉)
平時我們做網頁時都會使用<a>來建立連結,再用href屬性來定位,使我們點選時網頁能夠到達我們所希望到達的位置。但是如果直接點選的話,網頁會瞬間跳轉(閃現)到指定位置。但一些情況下這樣的效果並不理想,無法進行平滑的過渡。這時候使用jQuery,可以達到我們所需的效
(非直接利用函式)python繪製灰度影象直方圖及其均衡化
由於學習的需要,利用python和opencv實現簡單的灰度圖直方圖繪製及其均衡化 。程式碼如下import cv2 as cv import numpy as np from matplotlib import pyplot as plt #畫直方圖 def zhifan
安卓修改手機機型
三方 lte 特定 roi 校驗 量變 了解 創建 而且 韓夢飛沙 韓亞飛 [email protected] yue31313 han_meng_fei_sha 目前 市面上你能買到的一些安卓刷量變機工具例如 008K、變機寶等等 使用的都是XPOSED
安卓修改開機logo
文件系統 relative 編譯 top 文件 var sig 安卓 works 這裏我們是在ubuntu下進行操作我是用root用戶登陸的,首先安裝netpbm庫 執行:apt-get install netpbm 對於Android系統最開始表現logo
安卓手機GPU OpenCL總結(轉)
性能 網上 gin bsp 策略 測試的 公司 ocl adding 前段時間,把市面上手機GPU OpenCL支持情況做了一個總結。總結如下: 目前,手機 GPU 市面有四個公司產品:Qualcomm, Imagination Technologies,ARM, Viva
安卓文件存儲(一)
tostring rate 存儲 gen ide import ins troy ace package com.example.sql_file_Input; import java.io.BufferedWriter;import java.io.FileOutputS
安卓自動化測試:Robotium(一)測試demo
for 切換 ini too demo edittext pin dex bsp 1、下載Robotium打開: http://code.google.com/p/robotium/下載:robotium-solo-3.4.1.jar (寫測試用例時需要依賴此包)2、需要把
安卓介面基礎知識總結(二):RelativeLayout佈局的常見屬性
1.android:layout_above="@id/xxx" --將控制元件置於給定ID控制元件之上 android:layout_below="@id/xxx" --將控制元件置於給定ID控制元件之下 2.android:layout_marginLe
安卓介面基礎知識總結(一):LinearLayout佈局的常見屬性
之前做專案都是用到了才會查詢自己所需的,沒有系統總結一下,也沒有特意去記,面試的時候被問到了居然不知道,-_-|| 決定開始系統總結一下: 1. android:orientation:設定線性佈局是水平還是豎直排列,可能選項如下: 1)vertical,豎直 2)horizontal,水
安卓自定義switch樣式
榮耀手機鬧鐘開關的switch樣式,最近簡單的方法可以直接設定兩張圖片,根據按鈕狀態來進行切換。 這裡主要說另外一種方式 首先建立兩個track的資原始檔,也就是後面的背景 建立未開啟狀態下的track起名為track_bg_gray <?xml version="1.0
安卓基礎之主題/樣式
style.xml 主題樣式 建立 activit 定義 ati 組件 主題 似的 安卓基礎之主題/樣式 樣式:一般作用在控件上,使多個控件擁有相同風格 主題:一般作用清單文件的activity或application結點下 樣式Style的使用 系統自動在
安卓視訊播放器——ijkPlayer(Bilibili開源)
作為一個B站(Bilibili)使用者,特別喜歡B站的播放器 湊巧,發現了b站的github的地址。。嘿嘿。。B站github地址f 發現了ijkplayer播放器,支援android 和ios 我們用AndroidStudio新建project名字是bilibili_ijkplay
網頁無法使用安卓微信瀏覽器開啟(安卓手機:該證書並非來自可信賴的授權中心)
生成二維碼的時候發現網頁無法在微信瀏覽器裡開啟,檢查了二維碼對應的URL連結沒有錯誤,在CHROME裡也能開啟,用安卓自帶的手機瀏覽器開啟時,提示:該證書並非來自可信賴的授權中心。 使用這個SSL檢查站檢查,發現前四項正常,第五項報錯:A valid Root CA Certificate
Apk通過安卓修改大師加固的內部邏輯揭祕
一、前 言 Android Apk加固的發展已經有一段時間了,相對來說本文要記錄的Android加殼的實現思路是4年的東西了,已經被老鳥玩爛了,Android加固的安全廠商也不會採用這麼粗獷的方式來進行Android Apk的加固處理。早期Android加固聚焦的兩個點主要
安卓自學筆記第一彈(有點凌亂QAQ)
安卓學習筆記 第一章: (1):HelloWorld 1.分析安卓專案結構: 主要開發工作在app目錄下進行(在此主要記錄此目錄); bulid:包含編譯時自動生成的檔案 libs:如果使用第三方jar包,需放在該目錄下,其會自動新增到構建路勁中去 andro
安卓自定義彈框(Dialog)
1.在style檔案中建立一個style <style name="dialog" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</