|
- require "import"# M/ p. h; K0 @& i1 p6 m
- import "android.app.*"
4 j) T% s5 \0 \) d1 p8 H - import "android.os.*"! o, [5 B5 j) H+ G0 A
- import "android.widget.*"% v2 [3 N) x+ g
- import "android.view.*"( W7 R( X* X+ \/ z
- --分辨率转换函数
( w( a6 n2 n. E2 K - function 转分辨率(sdp)
1 T5 _- p( \/ \9 L( m1 d - --导入所需类6 T# l' j) o2 G
- import "android.util.TypedValue") {5 M. q ~& C- f# k S
0 j3 W) O3 t7 k$ P* h- local dm=this.getResources().getDisplayMetrics()7 I, T& c! o& t r4 w: l
3 X3 l. {5 L* D8 f- local types={px=0,dp=1,sp=2,pt=3,["in"]=4,mm=5}+ \, w/ B3 w2 N; ]9 g
}$ x, I0 s: d9 c- local n,ty=sdp:match("^(%-?[%.%d]+)(%a%a)$")
3 a% e3 j, w0 e# o7 o1 ]
: |" U* e3 T; D3 b% f2 E- return TypedValue.applyDimension(types[ty],tonumber(n),dm)
+ V2 t) M: U6 p" F( G5 J- y1 t - ! S% A. l3 u2 r: {5 {1 p% j
- end
- i7 p$ ]* Y" P! K( G - 7 j2 R/ ]1 X$ L2 ], m. p, p
/ B9 o r+ F% Q; N) `9 ` v- function drawTag()
/ k6 o. [2 x7 u% s! H4 ? - / P6 b: k1 c$ d* v8 d9 {7 p
- import "android.graphics.RectF"4 M0 U2 C( `$ {0 s1 F
- V, a' W2 U+ A% Q! m3 I+ p; |
- import "android.graphics.Point"5 C2 `" v% k0 e4 U/ o* l9 Z* E
; N5 k& A% ^$ \: j; w- n- import "android.graphics.Paint"
) I' T$ |8 w- `. b& s
" W8 Q. U0 t8 R+ W$ `- import "android.graphics.Path"
* `3 r& `: z! q2 G( [7 m" _
: J; K$ R5 k4 K6 w2 p) N- import "android.graphics.Color"
1 k6 c2 d! `: ?/ t" T+ o - $ J) g$ ]" w# j& Z* D& [& R
- return LuaDrawable(function(c,p,d)# X9 Y, _ w; [$ I- a4 e
- / p( [2 E s7 @' V v# P
- c.drawColor(0x00000000)
- p/ {. } }! i# P - ' C: r6 }5 P1 E- B
- p.setAntiAlias(true);0 c& g. R9 E: \- s+ L/ l
- # y5 \0 \ x( w' V# j
- p.setStrokeWidth(20);& h, }. i# w: e
- 5 h3 ~, S e3 i% P O* ]5 L
- p.setStyle(Paint.Style.FILL);
9 T, }& @' _8 t9 N2 r; {4 n
1 a* U+ f) N( L# ]. K, q- local quYu=d.bounds! N* g. B' C' N0 \( g% F. t8 t, M
- " Q9 }) X! O% y
- local width=quYu.right0 R: q! t2 D1 { {7 W( I2 J
- 1 t! k* c9 z9 Q& @, q
- local height=quYu.bottom9 V. G! X1 Z* f! a+ ?
0 E& e1 Z4 \6 {) h* Q ~6 x) Z& z' v- local radius = 转分辨率("12dp")
: {& C' c0 | `" q; f4 m
" k' t" \7 A" |+ E$ d: m3 u- p.setColor(0xffffffff)
\; O& e5 U' t$ h$ g0 O1 a: F( {
9 k' z) o- l% l2 \ S$ L+ X# O. m* {- p.setShadowLayer(25,0,0,0x22000000)5 F6 W1 N. K" P) t
- , t" X0 x( L& o9 U3 G; i) b y; b
- local path=Path();6 e4 Y2 j' c$ j4 A0 Q y
- + l6 I# a& f6 i# Q! z! J
- path.moveTo(0,radius/2);
/ ?+ q* w; j9 k+ K. Y @% {% q - $ L2 ?, \' |% |7 A% I/ n
- path.arcTo(RectF(0,0,radius,radius),180,90);7 L0 H5 r5 Q5 V" b& I: u
2 E- m+ w0 w4 L8 M! S* V- path.lineTo(width-radius,0);
% u6 m4 N3 |) r1 M& I
( W2 c' a- Z3 T& `, Z6 S- path.arcTo(RectF(width-radius,0,width,radius),270,90);0 r& S3 p$ G% [ [8 t5 `
" t7 i7 ~& M K& T7 }6 _. V- path.lineTo(width,height-radius/2);
+ t% q L$ r9 v8 u5 W5 ~$ V4 R - & }" d6 }- `; E( x7 }( Z* e
- path.arcTo(RectF(width-radius,height-radius,width,height),0,90);% u( u: Q5 o. y F j+ A
- 9 @* a7 y6 |0 a) h; @: ^
- path.lineTo(width*.06,height);8 x- e+ e0 |- O
- 9 |/ x8 w* L" a, M! [3 K/ f
- path.lineTo(0,height-width*.06)
0 O: z9 S5 w9 ?/ V9 u
B! l% X: e8 `- W5 Z, y- c.drawPath(path,p);
6 |$ E. d3 ]+ a u7 U
% I0 A( J' O3 L- p.setShadowLayer(15,1,-1,0x22000000)
; i3 Y( g3 A9 {; o: C! _ - ) J; Q) `+ l# Y5 T! Q! I
- local path2 = Path(). d2 a, f9 ?) A( S$ [5 @0 A; r
; o7 t$ @) z- K& L- path2.moveTo(0,height-width*.06)6 }$ ]( \- Q3 ~7 H l5 N
% p" H; _! ], F7 Z2 s; R: p; [- path2.lineTo(width*.06-radius/2,height-width*.06);( H* w6 ^" M: k) l
/ ]4 Y0 A( A4 U2 _4 G( c( e6 B- path2.arcTo(RectF(width*.06-radius,height-width*.06,width*.06,height-width*.06+radius),270,90);
( Q) B% `. }1 l2 [) F - 9 N* c& ~; r0 b! H! h0 U5 \
- path2.lineTo(width*.06,height)
, p7 E1 p: m2 n6 x0 L8 B - . \9 e9 z$ X2 o1 b/ x
- c.drawPath(path2,p)
5 Y8 i4 \3 Z7 `0 @4 L4 d) l& N
) y: l3 O9 s" `5 H- end)
- M0 h5 m; f( `- F( W! `8 B! j - 6 S; U' U' l/ Z5 \ v, a3 e- u, o
- end
8 E+ i# n5 V/ X( n - 0 G, O- X ^ u2 Z( ]! \4 j
# s4 M' H- i3 C7 Z% y- 3 c+ `& x/ e; G5 n1 p
$ O+ Q$ ]: @, o1 T- 6 w! R# x" B5 k/ s& k
- function setTxt(view,view2)
% H' G; [- E6 t, D! i% s: @ - local txt={"不好意思,我把你弄丢了。",
. a+ b+ \# y: y4 Z/ W - "长风破浪会有时,直挂云帆济沧海。",
1 a, v& {& T- Z0 ~' G - "你是无意穿堂风,偏偏孤倨引山洪。",
" Y' E( S2 f3 Q7 D' O - "愿你天黑有灯,下雨有伞,未来的路有良人相伴。",
' O7 `3 b2 I" i# _% Y - "我有一个梦,也许有一天,灿烂的阳光能照进黑暗森林。",: F4 r5 Z8 [% ?/ N
- "自古美人如名将,不许人间见白头。",
, w% w/ B% Q1 B0 g: O. Z8 Z- J7 J - "什么都无法舍弃的人,什么都无法改变。",% H) k6 f- ^0 M
- "天不生我李淳罡,剑道万古长如夜。",
7 a) ~/ a7 p1 m4 H: F1 p3 F: X- ^ - "斑竹枝,斑竹枝,点点泪痕寄相思。",: z6 T5 d3 k5 x Y1 e4 W! v4 i
- "一切都会变好,超级好,爆好,无敌好。",
6 s. y. }) u/ l& u$ L4 b" T8 R - "把喜欢的一切留在身边,这便是努力的意义。",
0 K: h$ g, e1 N2 @% ]5 l& ?4 x* u: A - "悲喜自渡,他人难悟易误。",* d- ^6 }, r2 U) ~8 V2 ~
- "且以深情共白首,愿无岁月可回头"}8 _5 A& i! g3 ~6 n2 C5 V
- import "java.io.File"* c$ U: z- V1 y& O' k1 X, x
- import "android.graphics.Typeface"- T! I) R; y( [; Q" X, Z O- W
- -- local bf=File(activity.getLuaDir().."/hkhbt.ttf");; S6 G9 o l2 F0 ^" r/ L, e
- -- local tf=Typeface.createFromFile(bf)
- P1 q( K2 U0 ? m0 P - view.setTypeface(tf).setLineSpacing(1.6,1.6).setLetterSpacing(0.13);
5 c x8 l5 U$ v; k8 \8 W+ G9 O - view2.setTypeface(tf).setLineSpacing(1.6,1.6).setLetterSpacing(0.13);
c8 n! j/ H1 V% u - Http.get("https://v1.hitokoto.cn/?encode=json","utf8",function(code,content,cookie,header)( q" Q& E1 ~# m5 Q
- if code==200 then# I7 ?) f: T" ?1 o
- local cjson=import "cjson"
0 \7 Q: x) E8 X. t% V1 c - local json=cjson.decode(content)- u2 Z! W; d) x
- view.setText(json.hitokoto)/ o' k6 c& e$ v- `6 f5 W
- view2.setText("——"..(json.from or "未知作者"))
W/ n0 S4 H- u - else
6 P% K5 P+ i5 \% P$ v1 I- ?" j$ t - view.setText(txt[math.random(0,12)])! E1 }( J1 N! ]: S) u' i& F
- view2.setText("——没有网络")1 E0 j1 ` {5 Q* Y4 \
- end
/ W; C8 V; ^ v. k - end)
' t8 E4 v: B" n& o - end1 e1 Q2 y1 V$ v5 W4 ~: j9 A
: a5 C0 q Z' v$ Q: o1 x3 i
- O5 e. t) b0 U" b+ e* e
- F7 k) ^$ C0 S+ t; G+ s" p- . U5 J' J, K# t7 i$ _) {# p
- 1 i% k- V1 `& A0 d2 Q3 L
- layout={
( C! x% r* A: {) m# Z9 Z - FrameLayout;, ]! u2 a4 M) g4 V$ P
- layout_height="fill";; p1 D; f; b2 [8 [* C! ?
- layout_width="fill";/ o# p4 e7 T0 C. N D
- clipChildren=false;) H7 ~) H; e M( y0 T; b! E
- background="#ffffffff";
3 w, I) {. M: m6 S2 A1 V1 t* u4 N# ` - {7 @: g9 u- ^1 i+ c
- LinearLayout;
; p/ j2 a7 U9 H$ k - layout_height="30%w";5 p5 m2 s2 w4 o k1 }
- layout_width="90%w";+ p4 Z. u- x. k" c' A8 w8 E c/ f
- layout_gravity="center";
/ N% [% r/ M, u& c. y6 y# U - backgroundDrawable=drawTag();% ^! t6 I- T9 X! v& T) E: h
- orientation="vertical";
i! Y7 i: \) j3 ~" `* Y. U. m - {% R. h& I# Y% F5 I
- FrameLayout;
1 i, v3 F3 i( j8 Z* Q% {* w/ w3 F - layout_height="fill";1 C/ }& Y+ w, @# C9 w
- layout_width="fill";6 S% E7 x8 }9 B8 N+ C/ g7 E
- layout_weight="1";/ }1 Y# E4 F0 T2 \
- {
4 s' y) V+ e& X - TextView;2 N/ U+ V$ c2 j! @# c
- id="yiyan_txt";
, d$ f0 U% B( }! K4 V/ B - textSize="13dp";) G. X( e6 A/ X7 m' ]& v3 T; c ]
- textColor="#ff333333";
4 I( n9 S7 e/ M6 h - layout_height="fill";" a3 _" H k+ D6 F
- layout_width="fill";, e' W; J4 h7 B
- layout_margin="15dp";
, D. |4 `3 O& Q - }
" w8 J! c9 o m% S* B O - },
4 v b7 @7 K8 G0 I: X - {; P( k1 s' P* p: J
- TextView;
! i: B3 Z% E/ C% {/ O - id="yiyan_wri";
1 ~0 \4 n, G* @8 e$ [ - textSize="13dp";
+ `: r5 m2 y2 Q7 x - textColor="#ff333333";
4 o. G* W0 m* M. o7 N - layout_height="wrap";
% g% v4 L' G/ S# Q1 z+ O" G - layout_width="fill";1 ^3 L# U3 o8 d4 P$ z* w& k9 `4 A
- layout_marginTop="0dp";
& J5 {/ }3 Q9 W0 e/ G* }0 E - layout_marginRight="15dp";
% R5 }2 q9 Z, q2 t) e, ^3 }/ x - layout_marginLeft="25dp";) L- V. ?- E+ G b+ ^9 G
- layout_marginBottom="10dp";2 Q' G% X+ E# ^7 v2 w, ]* p
- gravity="center|right";0 A6 w1 q1 P2 h. w6 _
- }# e( e: \0 R/ d0 h
- }5 c# K$ a$ J7 w! c; }3 p# \
- }0 B& Y7 o8 i5 @3 \+ Q8 z
- activity.setTheme(android.R.style.Theme_DeviceDefault_Light)--设置md主题" e) r0 Y. ^- x( q& Q
- 3 J4 a2 C5 ]% ^7 U' j1 X
- activity.setContentView(loadlayout(layout)). U4 F" g& L, t: S& D
- ! _4 e) O6 B) c5 @' T
- setTxt(yiyan_txt,yiyan_wri)* J: |* G. D( `9 j7 k
1 ~' m1 X- z T! D8 i
复制代码 |
|