From 1e906ccb3186344b7aabe092c0a52e09d37e92fd Mon Sep 17 00:00:00 2001 From: zhangyuanzhen Date: Sun, 16 Feb 2020 16:26:45 +0800 Subject: [PATCH] =?UTF-8?q?UI=20=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/res/values/styles.xml | 14 ++++++ .../navi/ui/search/CategorySearchFragment.kt | 6 +-- .../navi/ui/search/ChoosePathFragment.kt | 25 ++++++---- .../mogo/module/navi/uitls/BitmapUtils.java | 26 +++++++---- .../res/layout/fragment_search_category.xml | 44 +++++++++++++++++- .../icon_search_category_checked.png | Bin 3751 -> 1568 bytes .../icon_search_category_unchecked.png | Bin 2264 -> 1213 bytes .../src/main/res/values/styles.xml | 2 +- 8 files changed, 92 insertions(+), 25 deletions(-) diff --git a/modules/mogo-module-main/src/main/res/values/styles.xml b/modules/mogo-module-main/src/main/res/values/styles.xml index 4b9d268b74..7b786720a0 100644 --- a/modules/mogo-module-main/src/main/res/values/styles.xml +++ b/modules/mogo-module-main/src/main/res/values/styles.xml @@ -10,6 +10,8 @@ @color/module_main_window_background_color false @style/MainAnimation + @style/noCheckboxStyle + @style/noCheckboxStyle + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt index 3c5b6b13e5..8e59791dd0 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt @@ -18,10 +18,10 @@ import com.mogo.module.navi.ui.adapter.SearchCategoryAdapter import com.mogo.module.navi.ui.base.BaseFragment import com.mogo.module.navi.uitls.BitmapUtils import kotlinx.android.synthetic.main.fragment_search_category.cv_search_result +import kotlinx.android.synthetic.main.fragment_search_category.et_navi_search +import kotlinx.android.synthetic.main.fragment_search_category.iv_navi_back import kotlinx.android.synthetic.main.fragment_search_category.rv_search_result import kotlinx.android.synthetic.main.fragment_search_category.tv_navi_navi -import kotlinx.android.synthetic.main.include_search_bar.et_navi_search -import kotlinx.android.synthetic.main.include_search_bar.iv_navi_back /** * @author zyz @@ -134,7 +134,7 @@ class CategorySearchFragment : BaseFragment(), CategoryView { BitmapUtils.createWaterMask( context, decodeResource, (index+1).toString(), R.color.white, 18 ) - return createWaterMask + return decodeResource } override fun onActivityCreated(savedInstanceState: Bundle?) { diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt index ed6910f43c..d8ef97cacd 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt @@ -15,6 +15,7 @@ import com.mogo.map.navi.MogoNaviInfo import com.mogo.map.navi.MogoTraffic import com.mogo.map.search.inputtips.MogoTip import com.mogo.module.common.MogoModulePaths +import com.mogo.module.navi.BuildConfig import com.mogo.module.navi.R import com.mogo.module.navi.constants.AMapConstants import com.mogo.module.navi.constants.SearchServiceHolder @@ -123,15 +124,6 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB MogoModulePaths.PATH_FRAGMENT_CHOOSE_PAHT, true ) - AIAssist.getInstance(context) - .registerUnWakeupCommand("firstPath", arrayOf(firstPath), this) - AIAssist.getInstance(context) - .registerUnWakeupCommand("secondPath", arrayOf(secondPath), this) - AIAssist.getInstance(context) - .registerUnWakeupCommand("thirdPath", arrayOf(thirdPath), this) - AIAssist.getInstance(context) - .registerUnWakeupCommand("startNavi", arrayOf(startNavi), this) - } // 是否开启导航 @@ -182,11 +174,24 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB SearchServiceHolder.getMarkerManger() .removeMarkers() + + + + AIAssist.getInstance(context) + .registerUnWakeupCommand("firstPath", arrayOf(firstPath), this) + AIAssist.getInstance(context) + .registerUnWakeupCommand("secondPath", arrayOf(secondPath), this) + AIAssist.getInstance(context) + .registerUnWakeupCommand("thirdPath", arrayOf(thirdPath), this) + AIAssist.getInstance(context) + .registerUnWakeupCommand("startNavi", arrayOf(startNavi), this) + + } private fun startNavi() { SearchServiceHolder.getNavi() - .startNavi(false) + .startNavi(!BuildConfig.DEBUG) SearchServiceHolder.getMapUIController() .recoverLockMode() isStartedNavi = true diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/uitls/BitmapUtils.java b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/uitls/BitmapUtils.java index 7baf31fd2e..c34491e890 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/uitls/BitmapUtils.java +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/uitls/BitmapUtils.java @@ -22,19 +22,27 @@ public class BitmapUtils { //创建一个bitmap Rect bounds = new Rect(); paint.getTextBounds(text, 0, text.length(), bounds); - // 创建一个新的和SRC长度宽度一样的位图 - Bitmap newb = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); - //将该图片作为画布 - Canvas canvas = new Canvas(newb); - //在画布 0,0坐标上开始绘制原始图片 - canvas.drawBitmap(src, 0, 0, null); + //// 创建一个新的和SRC长度宽度一样的位图 + //Bitmap newb = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); + ////将该图片作为画布 + //Canvas canvas = new Canvas(newb); + ////在画布 0,0坐标上开始绘制原始图片 + //canvas.drawBitmap(src, 0, 0, null); // 绘制文字 + + + + Bitmap ret = src.copy(src.getConfig(), true); + //Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); + Canvas canvas = new Canvas(ret); + + + canvas.drawText(text, (width-bounds.width())/2.0F, (float) ( bounds.height()*1.8), paint); // 保存 - canvas.save(); + //canvas.save(); // 存储 - canvas.restore(); - return newb; + return ret; } public static int dp2px(Context context, float dp) { diff --git a/modules/mogo-module-search/src/main/res/layout/fragment_search_category.xml b/modules/mogo-module-search/src/main/res/layout/fragment_search_category.xml index 81dc1ca8a0..bb230c92de 100644 --- a/modules/mogo-module-search/src/main/res/layout/fragment_search_category.xml +++ b/modules/mogo-module-search/src/main/res/layout/fragment_search_category.xml @@ -13,6 +13,7 @@ - - + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-search/src/main/res/mipmap-ldpi/icon_search_category_checked.png b/modules/mogo-module-search/src/main/res/mipmap-ldpi/icon_search_category_checked.png index a89d92e306dfae4ff20724d87842686385be967a..250128bb4b305669fddf5138982c15254758c825 100755 GIT binary patch literal 1568 zcmV+*2H*LKP)Px)+DSw~R9FeESX*lqR}`K-XJRmvQmxd)sxh_L(n=|%_*5#1k*11D5J`RMPw*u# zLA*pQRs^B=?1S_r6_KDpYVi`PFGZx3(w4T=s?mC>wvp0Q%sDf=-?z?Q<34j{&N0Ca zGi&X2`PR4B-ZOI&6U<=P!-t;_CMVY-<-@?**8*eOA=@E|au@nt=)XY!GMG2-tl75h zA3C092tu&;m}ryVR!B72Z7Jgf#-^n;X?xq8j$v+CRBZtxc;@q zd>rlFJ6aRuCUryrYAQQ-?lDQSgN^o+SdIoQt9lybIw0G_L~pA&MVz%^_(`;H-)<07 z7`lRz+`Ze5a(QnO$2&=g=AzZAPspI4#;GI;)hV5Bu+^*W_;|SQ(xq{)Z0(944-E|< z;|o9FS?YdA(UFf@4;(nA_-R)kZ{NN$D3>oIc&FI+$iPWwNB#CjT43Y%w07=QAI%Uq__VD1kZJHaRCc@S+R5Bh74!#fP z*EzYhCKdo#dKhcHPkfAdngKi@uAY17&_(G8NDMocjnlP&%Dm`CzHB^WjTwfy$JoKa z1^>nIJrD_HrB!D&MfI70XN&psY)65M7hTd8h6|&qN@bmpU_z5U=RUIOlpLz-Ml|!+ z;S(cC!l^J^7eVQ(*%p8GsynF#RVo=u4z;WFZ4w}cCtf|cczO0kHjcaW@R5)@(?nm% zw$}IM=*>EWCdk20lB6qw+L1nf0ITUv2Hb!s*F(u6x|3qa+;r_K>GpLYN-SeKB7nAQ z@w$#=Iv{bdX*|1!52JKZi)a@(SDlh04_|Cy*dF1#G6hbp)zI3GWIN!{G_*vMunX9f7VSB!wNI;)=^QWVe=N!VpA~4Y zbHPv&;#WqAVR_Y}lo&$FE3Bln(V@{nM!ug$@-+=jjCdw+Dq%KKLDwr>`z=Gi|gnqU8v5J8L+}8W#5aI_d?8y;2 z{Z&xUURhviJ&Uw$C6g zrewU;u!s}|kjgw@^%ceYemqwfT}_sM^5k)Hd+XK(K^$Mk+pmjruH3zFI8AlhIO_bg z;i`HWks0psM*g)R3|B208F`=)bvbtj23A&*Qk`2hn_lY|#afS?G5_pOC^6 zW6V8}=;=Ip@~0H6Kxx_$&AYZ?!|QmfT|m(ewWXwT4l{u7;1TWV8XNmLjc=elH4$Q5 z?eAX^Oi!~jFE_yCx%nfQGpA?y=xE_TX0rJ+BEsaG8#liCxLh6wnZPx@VM#<|DWHkZ0h}fSv(84SF0p$HD(8yZY)QosAnmA7>3?0Wg2=xg`K%Er5Ci z#eWkJb*n&Nf|$>gsCZ9%0P@c`4&m6}dHU%SRenY#S6-v?U--=r9GJ-7fB*Y=ulFMe zzn!zQFgl$Mu*{8`AUcJBMN@Ve0t{b&fTN#fx8MG1XZ7k!Dg9x~Mh;-UZ5zAmhX82{ zj$4LaK(qi{jBdC4A>!=7@ypJ(ZM|W~4E>E1!2H=~@9kZ@_zMJF#=KU)X{+5yWPpjCp*tP^NwW0rXv9mUH6qyj#(Aub_lw%q=ds4v@O}xZXN_&39clt^tT2 z#6AYO9x8zO)~)yB&i!kEcg-M4O=Vl^U?@wLveO(Xj!$tzUeVdU{YXl8Ix_kl%DA|7 z>q_xgrgD6DCfuU4~kIl9*~FQVorirF3D-7JkC`JxVIsbK_7*ni`suA&Xa6 znSQk8O8QWetdai)`cTOyCMWNkvtvi=Pb{hM-I-Jvvrvmc%28UN ziu|B`Z0`K|cenlQ+~N?SFw!3f-e2!zZN)@GrWJtpl~k5((Y=K+lz<9jk|y&BTOWWY<-s{o>4}=Hb85E$ zR~l?6)1Y4t@87P#lZJdTFFoq;;Js1QgKhOVy)C{*3(@4%3czzmk3NQAOTvOJ2!s1! zbKosWCR%gQOg6@|D9Tu9>YzW$yGe~x^CQo zm-ufO48|d9tdrU5LLO7BD*=G~h|0GG@o^-RPDmTYcmLQWms3*hq$!o~?ziB- zpM3IfKru0;VrnwlQU;7<)E7_6LBJ(*lK!*iq~AYVwvY4)X1L|!TMA=$@NLakue`lWC(4Jp1v-_X#{Ez@b$YZ$dAZ%yjgC@i*;08GYd}pAlc_-{0`{&?!;oz*wXq z@8cU_;7R?G6%-=bPOxTP*NsL1;u&?95~V}(8df}I0>bl}ucPu+_@^KGZwRRAF^Jc% zqgpKG8&l^BuQaH+E_cpPHc>*5rLOO=YAg^&q#VY3>I9Hz+fX2$l!JDX@tQmV^Yhe_ zPfoKyllgeDy=_N!l(#4NlF?p#G2g_W%W)~~>qa90k#qqd9kRf1#Mf4&6vDz|8Ly*x z`4Tl1*@?==%$+8I)=2SvGAW9tY*DkOr=pDj#OK6CzJH4DP`b9lNT6?p(G6k3Qza13 z4eD=Dd*y@r7KxvVHUbdf%?F6)hd}ZUSODtf1z-d(*pk*^++JE`@uVD-OU6qtbJ5(q zWSlAu*?NEc0)Zgf7YR_dd=W$W7O}j3$)6WMpFeJ@9gP44AoDG7tvdh^-Gj_T;K@F` z7GFWFqr6X=bD`8_eZIYYTm2HC^y3y~cmN_%?n$4o3!sjpl&kAz8QZNsX>xc!@@G1d z@#1m;ZpzE#-(3b*E%oCCh#!guUburSi|SLe4$Slaz{RzeJWdKKw?R49A*L6CBE=Mq z07!Na?6hDpz@>r}S2T)gi;X!gFLMtY!2HvOzej8^ngN(){DGqZXubo-aRN$42?naw zY*4I#5{=`TlR!TxIO#vmFXgYV0ia+t@JF2uMk4^>=QIjhobqQK!xi;gmW4}3{TR@= zAn8`wr((8|#r_Gn#qx_VMLwsS#A)l!1@)naYBrn_( z%TZo3K~FhNJL|&GCgKee$s&I&*1AZAah|;I_=4BG3(B*NR0kG0Lqm0mnh|s9bS^iI zbCo3M0(+X@E&vD-LAlO4o@)j{A59uI=}0y63P zdFTD|+2Ui4l*1MTe6a}Rwa9*6dZh7!QUp&utC<%yLv_}uW!b;ht$P>2?x+- z#fzFO=w@}QDCcn>KSbJOl(uA*(IxyHhCQtiTr}1GeKI8~O6TH9amW`b4;CV-qC``< zX^zzRfYN^`3v~-$(6K@45B#ose=%RfsIzO--1I*mfBYz%f6D>|_b}af8#$>_inkPt zmMm$?JXm-|KC&g{sP)(F9=+kEm+nc%N(dWwAZ>g2BNpC}nS@c^oH6VsZQS4|JuOK? zzVJ-2I7m~6=1j=}=0v_5&D8q{c&iEix_SO{Z`z2o0`P|A%U?m#ADQP=@{k#rp7w!F zndG8ejOd{6a6!ZudVZb|*g<>Az!Oxn0X06LsrWFx9Iw;)=xeO8#b^Z}|9lEtVW*0+ z;7kxhD=6NC?!vLY5WDa;g-*z5&g+|Z@CFj~JWpzem&rxgwZ=nFG^HQP@bK8#_D{rG z0mvk;U$J60KzvUL6F3e5IBaU4Y!HJqPLke6O4BVWYwIhbw2FKcSseRSU%KpI`Y zfBz9Y(_ZXLjuRLvP6gFczX-a=nGfE}{3!XW)AzRWXYpkN;P@=2jMSdXBc4AWuV{b9PXfeAUogg}(VT7cQ1|i*^ue zxN**$%~kH}%g!SiANcDDIC)azUZPLiBD%q4+r^Yj^xLHz~xU*Ly6-&=U# z!0$r;ZF$w%)~-+g)S5M`@PvFBojC1VLZ8DSUZBgcNpPR@JAgd?^tIRN_0}vrc<|Lh zLk$H$CUI)jswY79#305U7jIb=N17Tb03@S+$$#V|=s24pc!;(Brh^CfMXJ-f92$U( zP7vX64>Ih^aUDRVtn2P+u|W%c0MBoBhXx)~QJryG)4nE%cna@(t@mh1F93_2#hpjLY@D$GikK%L^orn(UyC;q!PL)sH z^A?Yw^AvMr9jE{&AAZ=jGk|pW#CVHEFUoZtRhoxCZF|NH_#TQ|zxdFheadANbmRas z>60s0^6%?*qqyXQrLV9EU;#qPQQD$?##F$M#O=G^&d9-I==y@<1gCMm`0(MqC~AXk zsmNZykQyIQ2-s5n2kj}V8hOsn+c4_RQ+O`u6&rtFzI+|N`PhxuoUT1B5t*Rz6-Gdc zCv7wcrtexVP~PosxETx9$aV-y4YM3VB=3SCqTt;?EZP0+EhbgfW13Uq(uYreIl1BH z*I&P4;ISm-LH>#j1F`8nG0IAS31BOL?|Im^R~kH~HWmOGm>^=?);?I`Egf%p{HGE8 zgfSNI#tI;VpLpn@bpU8LzT5;3el3H08g)_~CmC#dxTlT{JmxpH4rFi+0}Px(cS%G+R9Fecm|19DRTPHTTKmS7qREpeN}O;YXfUP*L(&@?6r=^86j}!iN{Ltt z+USFV#%mPpQ;Xn42#O$To&^U`Q=6u=M5_{|IH02RL8MB>lxT9+@?Xb$uIHwAEXnD4 zIA@RR`}f}K?1`y~XLG^YPBLvZjqWC0etcNU`gLCbM`a|hLs~yHL^}+ccBM!YY1wP{T zOFa@yr-I1rT8oIGXsENCnKUvMGFY%J7`027^!X%Xt-sE4rn6&l{zBp_@aFe5qJP#} zKw{rn&UALHA^*6YORf4VhGZ)eFimIrtb@Ny(cf}jj$3sY>%;LgAi`U`h}q;gI${{h z0c|6-*mE=Oiv$L?Yk;#_hcSPXq-Xv8k8K?gB5i>GlC^*o4{T}k9%&V_pHdl_208L= z1TQe#bViBU5?`=4{u1q2a^Wv}{P_ zWg2vLtl=z@Nn^uC_{==cb`7$T=wnC-YTTK%lp-^@hIl`6V`2F%bk6{*J(#5!6Mhl? zG5bj&cZdHq6fK4wP;>#-;qL5&aJMs^?aWxnf!+KE_5v>U?uXQl0y3GocyRR;=#5ObTdl$|}&6`KvmwqVn35M7AgMH;|mC7`lW+eCGuzo9(#3470TW_R#5M%l-DNQyC zE-NRr9h>AWI6m}$G{$pfd8tTEAzsc8UP5|^j6Wb8%2Rdg2XW{owp)~>FF8n6t5jEr zR~#C*Ya`P+wCqEQ^yO;C%F=^8fS$ZLu=Gxk@t0+J6(S7@@p`zX=pv0iqll()OY}ko zTcso{?K^QnGDH$Kz%l1b88re83vnC8i<=|v#H?KLRA^!kxl`g|rl;1$%t}p73GvE< zPgp1AqA%dQv#7i`Z4g_&U05atXgPH6f0mD?^Xi39nMdkXa6k)%E*9#?H2r8&-ou{e zdCiJ&8%_5}0>(UZxtY%6;-z@4z&*^;g?Zxpq)ap4(-z_o4AZ655*?0#OW_9e#E;Fu b(`Ek!g*LP#?#CIA00000NkvXXu0mjfZe&K0 literal 2264 zcmV;}2q*W6P)Px-l1W5CRCodHoJ))y#TACnsh)w@LU9Z+j|D_P1OWsRQIZu88?v)I6aI7;JWR0x~1tIUi1n8SuNhG z>2PWQzR!t0sY&viU3clfM-8)@@CqugeAJQ;|K)G=-lomu*u@Zv_GC8a)V+&__Kr&O zy7&IA#Oz~W-OqZ!v?^6y?VLN=B>grT=1JcCiK@Cn>`VBn^1gFA^Ud$LKRmDN)_5zsH3pp& zgVjcK>1T$OV`u;`+Gf|_e)o`JN`m7fOf7!yy?i_@p>^UoC#x}K`W-IpF^Z`V?u*ww zKcx@XiJ6}}6o3Jq2Rsh1=H8an-`4cKE;kVS$$O(D?tWGOEnHwr+;AY)1{k`n_@_h5 z6MYR`c2lgWvD8!j6=vUOa&SRQ+)%eW*8<1^Lnr*pyyvmyIq|oQ1xm@JUfk~&T4HK_ zcXpkDr7}QHRo)Z-AC9)X=lOZNzHQz1a9p#gj_%++k)!i*;!dbK#mOGl50`1c_nhYu z9!Fc7w_kJx9xYKTHB&o1yr=2o1FQ}#ssxZv7@Q-<08bVB24-ntAvIGwJ&5UL z^i)M=X@GpT#dPHnTsbZ_anP8plDHM;P51OT>MDK0ZYP@n4fhU7C%wC;Y{ItH z4<6u!o`ScM0!snpl2q#bR_0L8Rg|>SDoRO>jaH`zdSMcJqsKA{O96cU6@LS+6qcm4 z?^E4TCQ+N~W?sU8vLbjaA+{7ian=j5&GvR_)Ggu>yueeamwPNaX`wtC;QF4O#+77_ zT3BrROJw}cRHG+)qeps;6&?-n3rX)_P_878dTA=wOr3i46jsR*B=;HZ*nYS;!7H5kB$e$iD={!0-fcrFzSjC~cS0kY}E&{_VJ;ykR0yw9#AzP}l zxuw{Bb5QgKpL6s|&-wR*KBEANr9Wg4{`5E~*itB4^tj-;$Ws(R>odE?@At=()g56u^li}dLJ7SK+>=htF_cdQOP1#g%^=U$5)L<8L0)7S7G#)oX;*cWp{ap-QerS@)aJVM zLQnKYk7cx$0?5~=@Tl|akU;J7r7)!l9^i$Z=&kH4Vx<5w$(l3Vc3i1XaKoL@Nw=Bb zb@|9VzzaOlTUjrq0rCprrN6702s;zc!CMXIl}*}~`qWMj)I(2YTOZHEZ^+e-3w!-% z@M!WQOgrbDx9brFt+G?cH@wpwm^4q~{`dFYy@^Yzs4v|D^CWmJ^~V_U`Ghiw%eOE` z%u74)3C)>yc%YYxM`eJsJ^frXIUidgyqRBvt9f5V4I@8|TB(`Z=^=QjsG>4J=G!x+ zFJsl>Cw%hKDfE2KI>WDw#Ev3z2$;`a3+~P9f*_a(J`Tli9<-5QGe+1?D;^EN_XK z;1+b}?3U69Jo+AL3(P@&wIyPZc~QJCJ;Tpq)%rZB+YYnk<+>UH$lzm#I0AU|*%-jF zLL3pi#sQ86;t1i51YicyFgp7%IyZVx95K9+0UQa$1K_#Mv(q}XsS5QU?r8KLcyQ9S zGYz%GF~Ot1kpg7G10affLClx>4T3QaIMi*$PP89nljPC0yj;V`0W$H>AdVRxy^ICm zP$0Gd-dF+Fg4hyxV+U9XVvFFl0$?eKErZt@fKd=z2(MKD2SRKqyw(9cBt(2U&Uqd+ z4LZg)jTs~=%o7dI&fG1<13zToHPn$ko(QslaA>CO1>NWxF0F0tEpO(lOk mSp4$8mkBHrSSC=D!2bc+5DcctbmAod0000 @dimen/module_search_180dp - @null + @color/translate center @dimen/sp_40 @color/selector_white_gray