登录  | 立即注册

游客您好!登录后享受更多精彩

查看: 1403|回复: 0

[lua教程] 【lua教程】仿MT管理器相对布局加适配器

[复制链接]

444

主题

509

帖子

2051

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2051

荣誉管理论坛元老

发表于 2021-7-1 08:34:20 来自手机 | 显示全部楼层 |阅读模式 来自:
  1. require "import"
    + L' |2 n' i( m
  2. import "android.app.*"
    + F; v* u! V7 W/ D
  3. import "android.os.*"& m2 v9 V. E% Q9 x) K
  4. import "android.widget.*"
    : N# q# m" ~3 t
  5. import "android.view.*"
    & A) K$ I; M% g$ p6 w/ o
  6. layout=8 _0 w. r9 J4 `8 P
  7. {7 Q, d& Q' G1 m. H1 R6 Z
  8.   LinearLayout,--线性布局
    - M# |9 _( s9 J9 C) H* G
  9.   orientation="vertical",--布局方向
    * s, q! ?2 K& E$ I! \
  10.   layout_width="fill",--布局宽度- D: }, m( q, V5 \
  11.   layout_height="fill",--布局高度& Z/ j) N& J0 D$ `. Q* ^
  12. 7 Y7 L5 y( e* v( ]
  13.   {' @) P& ~8 G! z+ P
  14.     RelativeLayout,--相对布局- W) ]& U+ _- O
  15.     layout_width="fill",--布局宽度0 g( |( n9 k9 G3 i  d3 }3 `
  16.     layout_height="fill",--布局高度
    , ]9 \" ]( Z$ Y
  17.     {$ C- F. M) B; g! v+ E
  18.       ListView,--列表视图控件
    1 P6 [% i+ ?+ q; Y' a
  19.       layout_width="50%w",--布局宽度
    ) w4 ^- ^% x/ Y3 {; B( v' c3 `( W& t# `
  20.       layout_height="fill",--布局高度
    1 B6 {6 K% e3 I$ j4 w
  21.       dividerHeight="1",--分割线高度" o& n! x* h& s9 ?- c7 x6 \" v
  22.       verticalScrollBarEnabled=false,--隐藏滑条% ]4 }+ Q0 J! i0 S. [
  23.       id="liebiao1",--控件ID
    * g- i" A9 l# _& ?8 X) W: L
  24.       layout_alignParentLeft=true,--重力居左
    - x. `( ^  a8 A7 g5 k( y; d
  25.       layout_centerVertical=true,--将控件置于垂直方向的中心位置
    , X2 N: \8 n+ M  W* I
  26.     },
    7 \2 F1 z' O- ~- v1 ~3 R3 {9 n
  27.     {/ ^( m  y5 [  I5 m7 }
  28.       TextView,--垂直分割线( z, n2 [; s) {! _$ _( b% r
  29.       layout_width="1px",--布局宽度  O/ b0 [) _5 y' |1 }% C
  30.       layout_height="fill",--布局高度8 ~2 E% `5 ~; H0 s1 {" [1 [' |
  31.       backgroundColor="#bebebe",--背景色
    9 J: N8 F# f4 T9 d, O+ i1 L  W" r
  32.       layout_centerInParent=true,--将控件置于父控件的中心位置
    5 m6 o; E# i) ~* k; W
  33.       layout_centerHorizontal=true,--将控件置于水平方向的中心位置! ]- E8 T3 x6 t. t1 t5 \
  34.     },
    # {8 f: Q- P+ f! p) `' V
  35.     {
    6 w* o) M' x6 Z4 S9 w. i6 d+ }
  36.       ListView,--列表视图控件
    & ~* o! h: c* p# c1 `4 S
  37.       layout_width="50%w",--布局宽度
    2 o' v, C9 P' G! W- [! M% K  [
  38.       layout_height="fill",--布局高度
    : @: s) m9 K! a' Z" x3 V
  39.       dividerHeight="1",--分割线高度2 `6 N  W! f6 b% Y3 b
  40.       verticalScrollBarEnabled=false,--隐藏滑条
    8 u3 w9 ]$ o: c: E. R( D/ M# l
  41.       id="liebiao2",--控件ID
    - m9 R/ e( c. Z
  42.       layout_alignParentRight=true,--重力居右
    " V- d" D! x5 A2 E7 k
  43.       layout_centerVertical=true,--将控件置于垂直方向的中心位置4 S* u# g& p5 v2 F5 Z( y. V
  44.     },' [/ k9 ?1 g/ v+ ]/ P- p4 f
  45.   },--相对布局结束
    4 |. c( p' F8 O2 P; p8 ^! Q% Z7 }
  46. ' V+ K# L5 ?& x- d+ f
  47. }--线性布局结束2 d' L# |4 Z0 }. n9 z+ `2 v

  48. , T) N( A" G0 a
  49. activity.setTheme(android.R.style.Theme_DeviceDefault_Light)--设置md主题
    & w+ M9 `( J3 T: Y  G$ Y
  50. activity.setTitle("仿MT管理器相对布局加适配器")
    6 _+ J+ N! M; C, ~9 S

  51. ' `) d2 g2 I/ l. ^# r4 q: Y6 m4 b

  52. ( n0 d* n. d4 V& g
  53. activity.setContentView(loadlayout(layout))/ ]0 Q" {8 `* J3 C
  54. 适配布局={
    5 S7 W9 C; Z4 l5 B5 U' _3 n8 P
  55.   LinearLayout,--线性布局
    $ `+ _/ `3 E! j- I$ R- X# q
  56.   orientation="vertical",--布局方向, z- W/ u5 g+ s4 p6 `9 N: A1 F' m. M
  57.   layout_width="fill",--布局宽度- G  z9 G+ M) h( m
  58.   layout_height="wrap",--布局高度
    * {( v2 h: Z0 P
  59.   gravity="left|center",--重力居左|置中" d0 G, |# G0 a3 B  l5 p3 E
  60.   padding="10dp",--布局填充
    ) c1 F- M0 X1 @9 w& Z
  61.   {8 s' h9 e! Z" I5 j" S) b
  62.     TextView,--文本框控件0 @  p3 p; e* B2 \" q
  63.     text="标题",--文本内容
    0 n( ~7 k: c" Q
  64.     textSize="15sp",--文本大小' D/ N) F- ^$ A2 S
  65.     textColor="#222222",--文本颜色. N# U5 [* r% C+ Z/ {
  66.     id="wenben1",--控件ID: V* k; P# }& A2 |, z" ], w
  67.   },
    0 Z( @9 P; U: A3 T. d; x4 V8 ]! A* P' A4 s
  68.   {" S; H- X# Z" C8 A7 O
  69.     TextView,--文本框控件) t; U: v: V% y) r& n4 C4 Z
  70.     text="简介",--文本内容
    . C( {" t1 M, }* {% ]  Q7 ]" l
  71.     textSize="12sp",--文本大小# J% k5 a( c3 \6 r( F% J" L
  72.     id="wenben2",--控件ID: l% ?' r. _: c$ J" L8 u* Q" `) p
  73.   },2 n" C6 k- Y, T9 u0 X4 O* V
  74. }--线性布局结束
    8 S9 s6 D( A# x

  75. ) Q/ k: K0 e+ w; i5 ~; J+ |8 f  q
  76. --来自James" l$ R& _' `3 H4 J
  77. -- -------第一个列表
    0 f& n, z- m& ?: [# O$ U
  78. 构建adp1=LuaAdapter(activity,适配布局)  l' p1 b$ ]: q
  79. liebiao1.setAdapter(构建adp1), {& i1 {/ O4 Z% J  M- K
  80. --远端或本地数据
    9 Y: i; X% A: f& o! l2 e/ U( m
  81. 总列表a=[[5 U, e% f9 V& m/ o& d3 ~9 R2 |1 B
  82. 《aaaa》
    ; I4 {1 P- s0 i
  83. 【QQ744066461】
    " V: c1 g# j, a7 `- V0 j( r' y( n

  84. # ^+ _' a9 B7 p5 x7 }( z8 s" n
  85. 《bbb》0 z3 V* i+ ~0 b1 N% k+ x
  86. 【James】) ?6 p: l5 @- H! d% P) {+ U
  87.   g" z3 S1 U. ]/ o0 M. b
  88. 《cccccc》, Q6 R! X8 D+ w% B% W; r
  89. 【tencent】
    / ?' e1 u7 @% a7 J" x6 Q: P
  90. ]]
    # I: D5 _) V/ ?1 }
  91. --开始取值  c: _2 p7 X6 b$ ?, Y7 _, ]6 j
  92. 读取列表a=总列表a:gmatch("《(.-)》\n【(.-)】")--截取格式
    & V1 z' D; x" ^0 J) _, x
  93. for a,b in 读取列表a do--循环取值9 l8 |9 i+ ~; |2 |1 r; Y! p
  94.   构建adp1.add{--构建视图控件
    4 [, o0 @) _1 I* I/ D
  95.     wenben1=a,--标题5 W% Y7 ]+ l$ C" k7 w
  96.     wenben2=b,--简介
    7 w, z( C0 [- t. S$ U! ^
  97.   }
    . _  R7 f8 S) p9 W4 P. ^0 m( Y
  98. end' A* z( D% E% J+ w4 l7 d
  99. --单击适配项目
    ' r0 k/ {7 o5 i( y, k6 t. k
  100. liebiao1.onItemClick=function(a,b)
    / P# [" ^! a' c1 x3 s! {
  101.   print(b.Tag.wenben1.Text)--标题
    # q' M8 M) E* e2 K2 e; b! [
  102.   print(b.Tag.wenben2.Text)--简介
      m- ^% H7 }6 A0 i. y3 x
  103.   return true--返回; v" J6 w5 G+ Z+ C# @
  104. end
    ; O" G, r. b/ P, z/ l, D

  105. : A0 y  N9 \) j) I, ^7 I) D3 F" u9 J

  106. - e  c# F, E! J! P( ^
  107. -- -------第二个列表. G: t$ X3 [( T
  108. 构建adp2=LuaAdapter(activity,适配布局)+ [- a& L8 c8 L5 Y
  109. liebiao2.setAdapter(构建adp2)
    " ~  Q: B5 Z5 N( d, A8 y/ O' V
  110. --远端或本地数据0 C5 g$ Q* k+ {8 D
  111. 总列表b=[[4 J" ^0 v7 D) Y2 {7 R' y/ x
  112. 《James》
    6 Z) Z  N* n5 f$ F- U, G
  113. 【QQ:744066461】
    " x; u' J) b$ G9 T9 m( r8 b

  114. & E" P; Y  n% o0 Y6 t3 M  T
  115. 《andlua》
    6 I1 o1 z- `5 E; [5 K. a$ i* B3 `
  116. 【nb】) e/ }" |5 N& C4 S

  117. ) M5 Q! v: [0 [6 j6 Z6 B, z
  118. 《可以多加几行测试》9 l$ @$ c( p5 F2 D( b3 Q+ S+ t
  119. 【tencent】
    - g) C( [2 E9 Q; y

  120. . i% o. {$ K2 q" l$ A# c
  121. 《噜啦噜啦嘞》
    1 R: }3 `! H& Z# w9 R% o9 D
  122. 【tencent】
    ! L5 X/ m; \! o8 E/ y
  123. ]]  U% [) ~- Z' g" ]. O; f! i* k; J
  124. --开始取值
    1 D; _& q1 q" a
  125. 读取列表b=总列表b:gmatch("《(.-)》\n【(.-)】")--截取格式" l6 P" y4 J, i# L2 H
  126. for a,b in 读取列表b do--循环取值& T; G( c& Y# f; g, m6 s
  127.   构建adp2.add{--构建视图控件
    2 R7 L$ Y/ s/ f/ V: B7 {
  128.     wenben1=a,--标题. q) H: v' G# O6 A7 E
  129.     wenben2=b,--简介
    + z! G# Q4 f9 k# O: G9 G
  130.   }
    3 C1 d1 Q6 ]' j5 l
  131. end" {- E& ?3 r- k) M- Q" [+ K* a
  132. --单击适配项目
    ) y8 X% u; k8 A/ @2 _; \8 R/ h
  133. liebiao2.onItemClick=function(a,b)4 Z& U7 V# o, Z( C& F: d
  134.   print(b.Tag.wenben1.Text)--标题
    5 N- L4 s4 Q. r2 M) k" ~' q
  135.   print(b.Tag.wenben2.Text)--简介
    , N( @/ ]% ?6 B4 m" |: ?
  136.   return true--返回' ^1 e7 u- K% j0 x
  137. end+ E' c' c: i7 [6 D

  138. * }" X/ q5 y2 Y1 P* z5 Q+ M# x
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|星空社区 |网站地图

GMT+8, 2024-4-20 18:37 , Processed in 0.052277 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表