|
- require "import"* o/ E9 [& D% a* I& o
- import "android.app.*"
$ c: J0 K$ q; E. c; @; ` - import "android.os.*"
9 m8 |; c2 j' o- e - import "android.widget.*"
1 w) J' _) Q- K4 p1 j/ }) F - import "android.view.*"
% a3 F2 X, w1 P2 d7 j h( t - import "android.graphics.drawable.GradientDrawable"/ F- f6 g) B$ O. W
- ) D3 N; v8 L& j6 D6 c/ }
- activity.setTitle('AndroLua+')
$ S7 O4 u0 ^% R2 @ - activity.setTheme(android.R.style.Theme_DeviceDefault_Light)--设置md主题
( b' T" Q3 n& ~ - activity.setContentView(loadlayout({. Y" X, V% M7 u9 o+ X" D+ h
- LinearLayout;
. n m0 H+ y5 T/ d - gravity="center";
8 i4 d1 `6 Y Z( S4 ?/ |6 | - layout_height="fill";
; B, x, A8 h9 _, P/ I - layout_width="fill";- Z: w# a. ~0 ~6 g* h$ U
- orientation="vertical";
9 j' A* |. h9 l, M* W" \3 y - --BackgroundColor="#ffffff00",
: V/ M' r. c$ v* S% w - id="fhhk";% K/ H# d9 V! S4 ~7 K( y+ T' z
- {1 m: ?7 w7 v7 h9 v9 Q
- Switch;9 k0 o7 [! x2 z$ p3 V
- id="Grt";2 X @" f5 w7 X* w" n+ G w
- };$ J+ K: Q9 Y* @8 z
- {5 m- [5 C+ u- y1 ?1 u0 d. W- u9 a
- Switch;8 Q5 V2 f" ^/ J5 \) M- y _( p" E
- id="Grt1";
7 C2 w4 B. S8 V( |7 n - };
; \5 b# p3 X2 z ^+ ~' ? - {
% k' R8 a9 P5 \9 N% Y - Switch; a E# s- M+ }' u; q
- id="Grt2";! W/ k+ j4 f. ]8 I& r$ V" O
- };
: C, o" j% |: V$ Q4 G* n' \& r - {+ Q/ f$ c# O- ^, ?, w
- Switch;
7 {3 G9 z8 V/ l - id="Grt3";2 h N, N; ?5 p* z1 w
- };7 P7 u5 H" Z4 ]1 t
- {
4 _ Q0 E6 h/ B, p" J$ S - Switch;" E9 U1 c" X( \' b, P: @
- };+ M" E0 e- H ], A& n0 U- }6 ?
- }))
" W& Z( C7 h8 [+ | - ' c9 k# e3 A, ]' h0 r5 G; e
- --转换像素单位
( z" X; f8 {4 W6 Z$ ` - dip={toPx=function(context, dpValue)
3 e8 E% H0 e. X - scale = context.getResources().getDisplayMetrics().density;
- i: {7 U" P" A# T# r, k - return dpValue * scale + 0.55 i. K6 `( w8 r$ ^0 L) A' u
- end}% f+ d( @" W$ X3 Z% }
- ( k0 N M0 R! ?( H* j; A
- function CircleBack_SeekDra(InsideColor,Ad_Size,ble,Colorse3)
% ]2 O9 v6 A6 l6 ~. K% O% ^* k - local colors = InsideColor
: E& `1 w, p$ K% i; d' p/ d) e/ s - local Sizes=dip.toPx(this,Ad_Size)--设置开关大小
9 c& X+ H4 b% } N* ~. m - local Stroke=dip.toPx(this,7)--设置拖块边距
6 z7 w4 ?/ `) J5 ^* B4 N- | - local Track_Stroke=dip.toPx(this,0)--设置背景边距
1 L* r$ l' D( C+ B - local drawable = GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM,{});' V8 p( w9 Y( z4 k
- drawable.setCornerRadius(Sizes/2);, b3 B+ h3 B7 C I& @! V
- drawable.setColor(InsideColor)
( h k0 V: r3 y0 p! b! f0 G - if ble
6 A t2 ?4 n4 e( `6 w - drawable.setStroke(Stroke, 0x00ffffff)$ Q; u# }- i0 f. T; u, X
- drawable.setSize(Sizes,Sizes)
+ x5 N% J% U- r I4 r3 }) n2 N! Q - else
~0 A' F" X9 q( j- h0 q8 R - drawable.setAlpha(60)8 ]; ?( `2 T+ S8 A
- drawable.setStroke(Track_Stroke, 0x00ffffff)
4 ?5 G( h) Q* T) Z. | - end' K8 y8 g8 S% M7 G& t" E4 o* A$ I
- drawable.setGradientType(GradientDrawable.RECTANGLE);
, c% ?& M9 W6 J/ D( D, I - return drawable
2 T y5 P: f. {* f. j - end
$ V C5 O" c% f$ G
2 g! l) Z# K1 `6 m t( L$ D' {' \ a- Switch_x=function(view,Colors,Colors2,Colors3,Ad_Size)
t/ v# X/ j. _( j: K - pcall(function()
9 h0 M6 _: p. @6 Q, d$ b - if view.isChecked()
, z2 Q$ _# O2 y - Colorse=Colors
% X5 a1 N7 X! t6 f5 ^ - Colorse2=Colors x8 b6 i! E; O& X2 C
- else
. J9 R+ o8 P1 [* ?" u9 w% z - Colorse=Colors2
. a* e6 s4 d( b$ I9 o - Colorse2=Colors3
$ a: H. h; `! G) V3 L9 v - end
: o1 b# P3 x% H - local padd_W=dip.toPx(this,Ad_Size/2.5): x8 j+ `- y5 ?1 a- R2 F9 v
- view.setThumbDrawable(CircleBack_SeekDra(Colorse,Ad_Size,true))
/ `* O2 `' v8 V) c - .setTrackDrawable(CircleBack_SeekDra(Colorse2,Ad_Size,false)), h3 ], B3 W+ a& W
- .setPadding(padd_W,padd_W,padd_W,padd_W). [- ~* N T: x( y/ s2 t: i
- end)
% z2 H/ A& X% t- b - end
( w$ Q# ~+ W7 P* Q! U - " I, S! _ k7 [! _% ]4 p
- Grt.setOnCheckedChangeListener({& w7 [, A6 ^2 j. ?" K
- onCheckedChanged=function(buttonView, isChecked)! N3 e) j" ^7 \9 x& [( {$ A
- Switch_x(Grt,Ad_Color,Ad_Color2,Ad_Color3,Ad_Size,Ad_Padding)--更新状态
" u( k! h9 P5 v/ j) G5 x - end})
0 X. N9 P* r, W% k T( K% H7 Q: B - Grt1.setOnCheckedChangeListener({& G8 I! d" I5 U# M
- onCheckedChanged=function(buttonView, isChecked)
! E& I0 L$ O. K2 ?4 i - Switch_x(Grt1,0xffff6e17,0xFFECECEC,0xff000000,35,7)--预加载
6 P' c# M3 p" e - end})
5 g' o1 p& n- m8 h* h0 Q2 t+ F B+ E - Grt2.setOnCheckedChangeListener({% y1 H8 a: b& R) N. k$ F# `& C
- onCheckedChanged=function(buttonView, isChecked)$ ^' `* o% G8 \* w' P7 t* R
- Switch_x(Grt2,0xff2ecbff,0xFFECECEC,0xff000000,45,7)--预加载/ {" f5 I, [4 w
- end}) t" n: B4 B/ Y7 m/ C; W
- Grt3.setOnCheckedChangeListener({
5 ^1 w1 Y, ?$ f% q9 L( e7 l; V9 q - onCheckedChanged=function(buttonView, isChecked), V \4 I. y% ?2 {
- Switch_x(Grt3,0xffae5dff,0xFFECECEC,0xff000000,55,7)--预加载
X+ O8 |( j' Y3 Y1 y - end}): n# ?; g, }3 B# L* R8 Y
- / K& u7 e) w; Y1 W
- Ad_Color=0xffff0000--边框颜色与拖块选中颜色
5 i" B. {1 A% V7 t - Ad_Color3=0xff000000--设置底部背景未选中颜色
, O9 E3 v) N/ I/ J5 I. K5 b w7 O - Ad_Color2=0xFFECECEC+ Y. Q+ n8 F3 G( x2 H! X. U
- Ad_Size=25--按钮的大小dip
b& s+ g, M5 | x6 I& C7 e/ L" A# X - Ad_Padding=7--设置拖块边距范围dip
0 d1 t( U- t: Y - Switch_x(Grt,Ad_Color,Ad_Color2,Ad_Color3,Ad_Size,Ad_Padding)--预加载! ^: m N: J, F( K
- Switch_x(Grt1,0xffff6e17,0xFFECECEC,0xff000000,35,7)--预加载
6 Z) u; J' Z% Q, w - Switch_x(Grt2,0xff2ecbff,0xFFECECEC,0xff000000,45,7)--预加载
" [: w5 p9 o& Q1 z. D' f5 W - Switch_x(Grt3,0xffae5dff,0xFFECECEC,0xff000000,55,7)--预加载
; h2 [9 G: D$ l* ]& `. \! f- ~
" E3 e# }* t& W. Z$ V. k3 t0 Y- 来源:代码手册 Robin
复制代码 |
|