Android中的Drawable基礎與自定義Drawable

2021-03-06 小林雜記

<?xml version=1.0 encoding=utf-8?>

<selector

    xmlns:android=http://schemas.android.com/apk/res/android

    android:constantSize=false //StateListDrawable的固有大小是否根據狀態而改變,默認false=根據狀態而改變

    android:dither=true        //是否開啟抖動-讓高質量圖片在低質量屏幕上依舊效果好,默認true開啟

    android:variablePadding=false //padding是否根據狀態的改變而改變,不建議開啟(false)

    >

    <item android:state_pressed=true  //Button被按下後卻沒有鬆開的狀態

        android:drawable=@color/colorAccent/>

    <item android:state_focused=true  //View獲取了焦點

        android:drawable=@color/colorPrimary/>

    <item android:state_selected=true //用戶選擇了View

        android:drawable=@color/colorPrimary/>

    <item android:state_checked=true //用戶選中了View,一般用於CheckBox這類在選中和沒有選中狀態之間切換的View

        android:drawable=@drawable/ic_launcher_background/>

    <item android:state_enabled=true //View處於可用狀態

        android:drawable=@drawable/ic_launcher_foreground/>

    <item android:drawable=#FFFFFF/> //默認Drawable: 按順序向下匹配,需要放在最下方,因為可以匹配任何狀態

</selector>

相關焦點

  • Android 自定義Switch開關按鈕的樣式
    ><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:drawable="@drawable/switch_custom_thumb_on" android:state_checked="true" />    <item
  • android開發中分享功能 - CSDN
    (appInfoLists.get(i).getAppIcon())); viewHolder.appname.setText(appInfoLists.get(i).getAppName()); return view; } public Bitmap drawableToBitmap(Drawable drawable) {
  • Android實戰項目真槍實彈第二炮
    ><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"
  • 定義Android 清單
    package=com.demo.android.bmi「package」 是「manifest」(清)嘶`的一特e儺裕例中的熱菘捎嗣鰨@用程式的M入c存在於「com.demo.android.bmi」@名Q空g/路街小android:versionCode=1android:versionName=1.0「android:versionCode
  • android 從後臺啟動頁面專題及常見問題 - CSDN
    這三個Tesseract語言包合起來約有70M左右,APK文件中拷貝語言包到手機存儲中需要幾秒時間,所以我們做了一個啟動頁面,在為用戶展示App第一印象的同時,後臺拷貝這三個語言包。經過比較,知乎日報的啟動頁面有從中心點展開逼進用戶的效果,我們決定利用此效果來設計啟動頁面。最終效果如圖所示:
  • Android刮刮樂效果-proterDuffXfermode
    在用Android中的Canvas進行繪圖時,可以通過使用PorterDuffXfermode將所繪製的圖形的像素與Canvas中對應位置的像素按照一定規則進行混合,形成新的像素值,從而更新Canvas中最終的像素顏色值,這樣會創建很多有趣的效果。PorterDuffXfermode的功能十分的強大,其他的應用場景這裡就不多介紹,主要是看,刮刮樂的實現和原理。
  • android國際化注意專題及常見問題 - CSDN
    注意:1、是在res目錄下面,新建文件夾2、需要國際化的文本資源和圖片資源名稱是一樣的 圖片國際化默認:drawable-xhdpi中文簡體:drawable-zh-rCN-xhdpi(或者不寫)
  • Android啟動頁面延遲跳轉與第二次啟動分支跳轉
    xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/splash"tools
  • 老司機總結下 Android Studio 實用小技巧
    Cmd + F 在文件中查找, Cmd + Shift + F 在整個工程中查找.使用場景:比如我要查找頁面上的 "網絡出錯"是在哪個文件彈出的,此時用 Cmd+Shift+F 輸入關鍵字,就會把所有出現該關鍵字的文件全部列出來.4 .
  • Android通知的使用你可能會遇到的坑
    最近使用android的通知遇到一些坑,都是以前不知道的問題。 setContentTitle("test")        .setContentText("在你的周圍發現 " + list.size() + " 個設備")        .setContentIntent(pi)        .setLargeIcon(BitmapFactory.decodeResource(mContext.getResources(), R.drawable.max_ic_launcher
  • Android View進階之實現仿支付寶手勢密碼自定義View
    一、分析效果圖:        所有的自定義view都是通過分析效果圖,一點一點將效果圖分解成一個個模塊,然後單個模塊實現,最後拼裝成一個整體,下面就通過手勢密碼的效果圖我們來剖析一波吧。listDatas集合中,再通過 invalidate();方法通知onDraw,根據listDatas中的新增點數,來繪製出選中點和點之間的連接線。
  • Android一步一步剖析+實現仿支付寶手勢密碼自定義View
    一、分析效果圖:所有的自定義view都是通過分析效果圖,一點一點將效果圖分解成一個個模塊,然後單個模塊實現,最後拼裝成一個整體,下面就通過手勢密碼的效果圖我們來剖析一波吧。我用Bean存儲對應點的X和Y的坐標,把每個點的實例加入一個List<>中,就完成了手勢繪製所有點的存儲。
  • Android實現社交應用中的評論和回復功能
    1概述在Android的日常開發中,評論與回復功能是我們經常遇到的需求之一,其中評論與回複列表的展示一般在功能模塊中佔比較大。網上還有說用自定義view實現的,但我發現大多沒有處理view的復用,而且開發成本大,暫時不予考慮。那怎麼辦?無意中看到expandable這個關鍵詞,我突然想到谷歌很早之前出過一個擴展列表的控制項 - ExpandableListView,但聽說比較老,存在一些問題。算了,試試再說,順便熟悉一下以前基礎控制項的用法。先來看一下最終的效果圖吧:
  • Android 高仿懂球帝我是教練效果
    整個內容中最核心的就是一個自定義View-BallGameView,就是屏幕中綠色背景,有氣泡和球員圖片的整個view。說到自定義View,老生常談,大家一直都在學習,卻永遠都覺得自己沒有學會,但是自定義View的知識本來就很多呀,想要熟練掌握,必須假以時日。既然是自定View就從大家最關心的兩個方法 onMeasure和onDraw 兩個方法說起。
  • android 水平布局寬度 - CSDN
    我想到的思路主要有兩種:第一種是在LinearLayout布局中動態添加TextView,設置LinearLayout的屬性為水平居中,TextView的屬性包裹內容;第二種是自定義ListView,取item的最大寬度作為ListView的寬度
  • Google 開源的 Android 排版庫:FlexboxLayout
    :<com.google.android.flexbox.FlexboxLayout    xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:
  • 2020 年 Q1 季度五大熱門的 Android 庫
    <nl.joery.animatedbottombar.AnimatedBottomBar android:id="@+id/bottom_bar" android:background
  • 問道幫派自定義稱號玩法 問道幫派稱號怎麼自定義
    導 讀 在最新的1.63版本中,問道推出了不少新的玩法,在原有的幫派玩法基礎上進行了推陳出新,而自定義稱號玩法就是其中的一種,當然,這個和幫派結構分階少不了關係