|
- require "import"5 u0 o+ p0 f% }) \$ g* h; x3 C2 P
- import "android.app.*"
0 @$ i9 P h* P - import "android.os.*": b7 S: i" }9 n3 f
- import "android.widget.*"0 k1 b( H% @$ ^8 ~
- import "android.view.*"
; J: A; g" Q: W- a* z! y - --分辨率转换函数5 c/ v1 H- z7 |4 ]
- function 转分辨率(sdp)
1 b- n9 w% ~+ [# A7 U - --导入所需类; d0 D+ k1 t3 Y! y9 ^/ R O
- import "android.util.TypedValue"
5 J4 D2 }, G! ^* j4 B7 g) ~
' @" q* o4 Z' R6 ?' A. ~- local dm=this.getResources().getDisplayMetrics()6 G; k8 s& Q, d1 u3 t" Q
3 g" W5 h, }) k+ {- M* A8 I- local types={px=0,dp=1,sp=2,pt=3,["in"]=4,mm=5}
O$ Q( q; n5 ~% K1 b. o& {4 Q# c$ z
& k) v+ X8 f- w8 X9 C3 z7 D- local n,ty=sdp:match("^(%-?[%.%d]+)(%a%a)$")
+ i: b9 V9 g" k5 f# B" d7 f% \
% e' I' x0 F6 ` K" T& z- return TypedValue.applyDimension(types[ty],tonumber(n),dm)
" N' r) F6 S2 U/ ~, X - 8 ~' m% h0 T. t* I
- end) [/ _! Y3 [- f" Z; C7 K1 K
. _6 F0 X0 l, P- t2 N- ( S9 m( ~; b- R
- function drawTag()
5 ?$ _" g: n5 J+ p8 Q7 d
" A" F" u2 f; P& U- u- import "android.graphics.RectF": T! q+ U- A( ^, v
- . s$ w ^6 C/ S& S0 K
- import "android.graphics.Point"2 G z2 i7 [0 X) ~5 {3 f3 B3 F
2 P- \8 T8 ^, X& f- import "android.graphics.Paint"
7 S: [1 T/ U: j1 v' f8 H
& b' {6 b2 C. T: H3 L/ D* ?- import "android.graphics.Path"7 E0 [' i1 {* r$ F1 P8 T; H
; w. _+ Y7 U) }! }( H- import "android.graphics.Color"
8 G% H$ }+ u1 S1 ^+ d* ~) } - ( `' b, z) q; {, y) N; q
- return LuaDrawable(function(c,p,d)' E1 v/ h Q! X2 I; R( x6 n
7 N! a% L( A, k! P' P/ L4 p' ]- c.drawColor(0x00000000)0 o7 G" X4 L5 D8 r ~
9 n7 X: t. Q# o( E- p.setAntiAlias(true);
+ ~% U4 x; K7 W4 o9 i# N5 G
+ A- N" K( h# }, e1 s8 O5 ?, L* L- p.setStrokeWidth(20);8 V7 r# Q9 J1 _+ X0 p8 j6 h" b$ n' ]
' K& H; b% _) T% Q* S- p.setStyle(Paint.Style.FILL);
6 ]8 u8 |* ^/ D" M' t5 U7 l
8 ?9 X( n8 `# r& K" p, q; f- local quYu=d.bounds3 ~6 x& _- ]0 Y
4 g- U P5 ^0 ?* S4 E# @8 ^" L- local width=quYu.right V# q+ M$ E! v6 ?4 f
4 h* q2 h3 @$ M. ]; M" Y- local height=quYu.bottom' R( ^& i g, x
5 U5 \: j8 u; b- U; p- local radius = 转分辨率("12dp")) v% ~6 B5 X; }: S D- k8 d
r; {1 [) {- e% \0 y& m' b- p.setColor(0xffffffff) Q7 s6 C, Q: [4 m0 J2 y# M" X
- 7 I5 X# ^$ x3 g, ]2 y- U4 I/ Z$ t, M
- p.setShadowLayer(25,0,0,0x22000000)
1 |5 `) g E) d" W" W% z3 k3 _ - 2 Y! ]% D7 \6 {# ?
- local path=Path();7 h8 B3 Q, J7 h9 q! ` V
2 R& |6 Y2 \5 p8 o- path.moveTo(0,radius/2);2 T+ W2 R+ |, ~
, ~' V5 c1 L4 d8 y' C6 x+ W- path.arcTo(RectF(0,0,radius,radius),180,90);
0 I4 o6 y' M/ h; K
6 h! T f0 o! |& x* K. W5 B* x2 V) w- path.lineTo(width-radius,0);7 y! O" A, @: c' T" i0 b
9 x$ K: J( N |1 `+ Z; `- path.arcTo(RectF(width-radius,0,width,radius),270,90);
6 o1 T8 `4 s; U- X- F+ f
6 @+ V# A6 I! d# `. r- path.lineTo(width,height-radius/2);1 q, D4 z1 C8 {, e
- ) O C: J5 M B) N7 f
- path.arcTo(RectF(width-radius,height-radius,width,height),0,90);
1 U. y. ~! l$ c: j+ }0 ? - ! b8 _" s& S1 |" c+ M
- path.lineTo(width*.06,height);& d' W' s7 O: l4 q1 j
- 1 [/ |3 ^# W% j4 I6 P J
- path.lineTo(0,height-width*.06)
" d4 _0 v: x+ a( a9 S8 W( m2 [" V8 q
! w6 k7 g. Q! p) g- c.drawPath(path,p);
9 [( I. T$ v1 N m/ E
0 N; w3 F; k% b+ {# l- p.setShadowLayer(15,1,-1,0x22000000)2 K/ P/ g+ x. s; }/ w* d$ m" Q
- 2 \( w7 J' B% g
- local path2 = Path()
5 ]& E* c* v* m! `# n, I
: }% N$ c* u5 F# o$ ]: R2 w- path2.moveTo(0,height-width*.06)+ U B5 r* i l( ], K7 I: S
- 8 u5 k8 \1 n0 Y; `# h/ A
- path2.lineTo(width*.06-radius/2,height-width*.06);' m) E% |: A- o8 B) \/ J7 C& f, p
- 7 C! P8 }* J% m0 U) G7 f" V
- path2.arcTo(RectF(width*.06-radius,height-width*.06,width*.06,height-width*.06+radius),270,90);7 m7 _. {0 [& ^! d' I' T4 `; k9 W5 x
) ^2 k5 x9 K8 B- s/ ^! m- path2.lineTo(width*.06,height)4 u: E/ \) E, G+ y b! ~: g
/ R( B" H4 J9 ?! X4 {' r- c.drawPath(path2,p)
% e: }) c8 x2 ]! v# c' L - : v2 Q$ F Y( R- R" Y$ e7 J
- end): t3 s5 L) a) ~) S5 g* p, F' W
- . n$ d0 E/ Y; C9 m
- end9 |- ? b; F* c; ^
$ V) J( }" a' a+ |% d$ j- 9 U2 I9 l1 n/ b7 a x
- 1 D* d; T. \: V: a9 R
& B' {" {7 {; [* i/ @( C) R- ( O5 ~ c5 c; _/ A4 y: L
- function setTxt(view,view2)
7 _1 _8 m" O4 }( T% D - local txt={"不好意思,我把你弄丢了。",
) _- C) h" D# P# G# T* f* V - "长风破浪会有时,直挂云帆济沧海。",
$ C5 ^9 ~# t9 z) f X - "你是无意穿堂风,偏偏孤倨引山洪。",8 M. c5 z" V& J, v0 _: _5 G
- "愿你天黑有灯,下雨有伞,未来的路有良人相伴。",5 V; {3 W% K! K
- "我有一个梦,也许有一天,灿烂的阳光能照进黑暗森林。", @6 w# U9 U1 C" o* R) i
- "自古美人如名将,不许人间见白头。",
! n' u/ c7 S: \- r, B. k! c! A - "什么都无法舍弃的人,什么都无法改变。",/ \1 ~8 c c4 n
- "天不生我李淳罡,剑道万古长如夜。",! Q8 ]0 t/ l, D7 F
- "斑竹枝,斑竹枝,点点泪痕寄相思。",# x& @& x) A+ v; J( p4 }* n+ {
- "一切都会变好,超级好,爆好,无敌好。"," Q, E0 t% R& e
- "把喜欢的一切留在身边,这便是努力的意义。",
6 X+ T! Q3 o# h! {$ C - "悲喜自渡,他人难悟易误。",
% z8 D$ d9 ^/ [% V - "且以深情共白首,愿无岁月可回头"}0 }, Y d* l" W, i- u, v4 y
- import "java.io.File"
8 K8 \: q* ~$ W/ [$ e: H4 _ - import "android.graphics.Typeface"
; u. W3 P G5 P# S' ~ - -- local bf=File(activity.getLuaDir().."/hkhbt.ttf");4 J( D' L* o8 V$ i( s1 F
- -- local tf=Typeface.createFromFile(bf)- g P* ?/ q7 ]
- view.setTypeface(tf).setLineSpacing(1.6,1.6).setLetterSpacing(0.13);
( \7 S4 L/ V9 A - view2.setTypeface(tf).setLineSpacing(1.6,1.6).setLetterSpacing(0.13);
7 F" I1 @" N7 u - Http.get("https://v1.hitokoto.cn/?encode=json","utf8",function(code,content,cookie,header)! P0 V8 {2 y/ Y. `1 ~
- if code==200 then* S7 A3 w6 r2 q4 @7 U
- local cjson=import "cjson"
3 o: X" d# s- x. O" o# s - local json=cjson.decode(content): X& R- \8 X9 Z. C- }. b& R0 h
- view.setText(json.hitokoto)1 @9 c2 ?) z# P9 }; _5 I
- view2.setText("——"..(json.from or "未知作者"))
1 ~, J3 V- f/ G3 s5 |) c - else" m) u/ H' ]7 F
- view.setText(txt[math.random(0,12)])% K8 \1 L; c6 K' w- [
- view2.setText("——没有网络"); [$ Q3 l' Q6 n; V
- end
6 Y0 A! T/ J9 f. i" \8 U - end)& {& y9 {7 G" X
- end" Q2 j/ @! o1 H9 B) U0 I: d
: k, ^5 f0 z; j* p3 I5 t2 r- 2 \8 a5 a# c2 P
' N) }& E5 g$ V) G. ^- * a7 \2 d1 C; X1 Z( r, y) F; Z
$ J% ?+ H, V7 n! d/ ~& f- layout={
; F; s T0 e$ ~7 j, F - FrameLayout;
# [- L3 X% n" V9 { - layout_height="fill";
7 F3 Y# \4 o: U! D z, ] - layout_width="fill";; L p3 J% _3 E* P1 }
- clipChildren=false;) N* `# u5 f. u! p& ?4 D9 W U8 x7 p. o( T
- background="#ffffffff";
3 \/ Q2 Z; p: O0 g$ w4 B" U- d6 J - {! z) D4 G" e7 x1 H. m9 K5 D
- LinearLayout;
5 y" T( K8 M# M. q$ b3 {4 b$ J5 H - layout_height="30%w";
! X# Z5 j' K X. B# q& n - layout_width="90%w";9 ^7 _: w! [) N$ l% O
- layout_gravity="center";/ H. Q5 a1 v9 S# @0 |) I3 E
- backgroundDrawable=drawTag();: k2 L! W3 \" |" T, X0 p: v9 b/ T2 b+ R
- orientation="vertical";% R( A- S' q2 i8 n8 t0 L
- {* \/ Q5 ]8 ]' M' S$ A) d! U0 J; Y
- FrameLayout;3 f* L/ W+ g% O* e
- layout_height="fill";
( c3 Q, x& f; i! l" ~2 x - layout_width="fill";/ O6 ]% t, G8 N% K8 A; f3 L
- layout_weight="1";
" ]. U2 }' h. g - {6 D9 W+ }$ _( F: S& \: A6 [4 J2 k
- TextView;( V5 ^1 ]" a% ?0 m2 _
- id="yiyan_txt";4 i/ ?6 F9 j* i4 e: O
- textSize="13dp";
o+ g, \6 E# a* r& P2 T - textColor="#ff333333";- \( L, G0 q; p0 l1 q
- layout_height="fill";
8 c6 U4 |2 C" K4 s. r - layout_width="fill";3 ], E# M: T% m" [7 E: C' a, o
- layout_margin="15dp";
- }( L; Z2 P t- Z* s, y - }# b5 y- n7 _' ^; i! A7 F5 s3 j
- },
% `: J# F1 O% I) R& B% ]) l - {4 N6 O; [% M7 o8 w) e2 w; Y
- TextView;" K- U+ L/ x4 h8 }- G! K: T
- id="yiyan_wri";
9 |* A1 A }& x) A - textSize="13dp";
2 ]) g p/ p& x3 _" K+ ? - textColor="#ff333333";
+ `9 f; g$ k$ S - layout_height="wrap";
6 U+ d. m' x1 ~ - layout_width="fill";
7 I& u7 C8 o! D8 t$ V - layout_marginTop="0dp";7 Q+ B! I1 ^6 @) N1 Y/ Z
- layout_marginRight="15dp";0 A0 v. T9 x6 q1 T4 D: }8 L
- layout_marginLeft="25dp";9 Q! s J0 s1 Q! v4 @. s$ W7 _
- layout_marginBottom="10dp";$ \8 Q' A# \% E v4 {& _
- gravity="center|right";3 A# I4 {/ @9 C# ?, P3 {" F, W
- }: P( ]' ?3 T) h9 W' z; r
- }
' b ^6 F$ Y: B! y: d - }. L9 X$ i' w6 _3 w! n
- activity.setTheme(android.R.style.Theme_DeviceDefault_Light)--设置md主题
$ _/ Y1 y3 F/ X0 i/ l
$ s/ O1 B- f6 T! `6 w1 B) a- activity.setContentView(loadlayout(layout))% {$ ~' _, k& ^# r" ?
# H+ F. [& l0 c5 Q3 x- setTxt(yiyan_txt,yiyan_wri)
! e* V6 D: t4 o4 F) l - 9 j: z$ Z3 I* f& \' z8 X- e4 C
复制代码 |
|