登录  | 立即注册

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

查看: 1356|回复: 2

[lua教程] 【lua教程】ExpandableListView使用教程

[复制链接]

444

主题

509

帖子

2051

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2051

荣誉管理论坛元老

发表于 2021-7-1 08:36:41 来自手机 | 显示全部楼层 |阅读模式 来自:
  1. require "import"
    ) x  N5 ^1 y# f' }
  2. import "android.app.*"
    6 C0 m8 ]( ?) ?( m) P3 t8 H
  3. import "android.os.*", j# ?) j( S3 J5 D
  4. import "android.widget.*"
    + [1 B; g9 z& B, l
  5. import "android.view.*"1 |, l5 O1 H. ]: o
  6. layout={
    % u+ h6 [) \8 \; F
  7.   LinearLayout,+ t$ L0 n8 h! `$ [, v: U
  8.   orientation="vertical",
    ' t- }+ s2 V8 J, [+ L! o
  9.   layout_width="fill",' E! y- c/ P; Y: S  l
  10.   layout_height="fill",5 a6 C) }# Q5 p/ S
  11.   {5 y$ [) h2 t" u, ^/ c
  12.     ExpandableListView,
    3 h7 G9 F3 z0 d4 o3 J0 `2 S
  13.     id="Expandable",
    + |( ]" |0 Z' }: h6 \& S! ]( L
  14.     layout_width="fill",
    1 C8 b" b9 J( N" m+ Y; g7 S
  15.   },5 l) X" p9 C3 h3 s) B# y
  16. }  i9 L0 t3 v/ W$ V
  17. activity.setTheme(android.R.style.Theme_DeviceDefault_Light)--设置md主题activity.setContentView(loadlayout(layout))
    ( V" |1 M( ^! W8 {% S6 H
  18. activity.setContentView(loadlayout(layout))--显示# x% G* b7 D- i' {
  19. & A# t# [' |/ U# n6 P
  20. headLinears={5 Y2 Y6 P* \( t3 m
  21.   LinearLayout;
    . b9 [9 i, T% R# \" ^& W/ P3 h7 m5 j
  22.   layout_width="fill";$ l  o! ^5 i- J$ ^' u+ ]" u
  23.   layout_height="50dp";4 [, A% l2 |1 e$ B; u4 T( l0 c
  24.   orientation="vertical";
    3 }( L- \% C" L- C( V$ u, \
  25.   gravity="center|left";2 F' S6 |. k7 W% s8 W
  26.   background="#00ffff",' b: z' E; g, t! g9 E3 a
  27.   {* ~& `- I1 X5 b/ P: O
  28.     TextView;
    - K/ N8 j$ c: ~& R5 {
  29.     layout_marginLeft="40dp";/ W6 |! L1 Y- ^9 C( S$ `
  30.     id="App_name";  v/ ^3 M) s9 u  h+ x% d
  31.     gravity="center";
    0 ?) U% f- D" g. v; b6 ]
  32.   };
    ; k3 O  O, }, f, W/ \* [
  33. };6 q$ @# A( x2 _+ {4 [! ~
  34. headLinears2={; [0 n0 O2 q* b0 g; Q2 |: S. y
  35.   LinearLayout;& u) }; T5 ~/ c- |- E* T1 `( n% Z
  36.   layout_width="fill";
    , s" x) d0 h/ m% B% Y- e  G
  37.   layout_height="50dp";% |3 P4 T4 ]7 B: v" H- w4 s2 y
  38.   orientation="vertical";
    + f4 a7 W. N# _% ]: `( N% s1 Q
  39.   gravity="center|left";
    + m! b" {: L) ?9 p7 |$ ^; f3 w' J
  40.   background="#ff00ff",+ h4 q4 c! O' D' g3 F
  41.   {
    ' p. f: s* o! D8 P; {/ j  N7 H
  42.     TextView;! o6 K% ?5 ^# l
  43.     layout_marginLeft="45dp";6 H0 w* n5 ^0 v
  44.     id="App_name";
    9 f, j& h% I" a7 u
  45.     gravity="center";7 T( Y; n' W( ^
  46.   };
    6 G* J# @; V! n! K7 w! i4 v
  47. };$ j* B2 ]1 N4 U+ i- }
  48. 0 w* _' J$ B( t
  49. fg={}% K/ V* O, _% R. \: L& Q
  50. fs={}
    1 @. V, Z6 b5 @6 b
  51. ase={}+ c' u: x8 N" [; \1 j$ Y) C
  52. ' R2 Y* ]8 i# g" f- n1 \( U  K( y
  53. ns={"Check view","Adapter view","Advanced Widget","Layout","Advanced Layout",. R4 {' O8 P" ~( T: r' i
  54. }
    - ?+ C5 d* M" k& O9 p' t. X
  55. # G$ e$ y# L3 k4 ~% u
  56. wds={
    : F- U0 L) Q1 h# B
  57.   {"CheckBox","RadioButton","ToggleButton","Switch"},' {: J" f8 p* z9 M7 _
  58.   {"ListView","ExpandableListView","Spinner"},2 _# O7 Y& E' v* k0 |  u
  59.   {"SeekBar","ProgressBar","RatingBar",
    ( T! W. ]* G! l7 c1 Q7 `1 D
  60.     "DatePicker","TimePicker","NumberPicker"},
    $ \) E: S! ]) `' u1 f; ~
  61.   {"LinearLayout","AbsoluteLayout","FrameLayout"},
    4 [8 Y3 D4 h6 O2 C2 ^7 `) U5 M) f
  62.   {"RadioGroup","GridLayout",
    % f' y7 {) E( N. n, ^3 i8 @1 e
  63.     "ScrollView","HorizontalScrollView"}," i$ ]6 ]: F! d( ?6 e4 o
  64. }
    ; X; Z/ ~  W) \( K

  65. , \! D7 |; |5 h( o7 ]& ]8 |
  66. 9 s2 `# a9 ^# Q5 c" [7 J1 J
  67. mAdapter=LuaExpandableListAdapter(activity,fg,fs,headLinears,headLinears2)
    8 @  `! p9 r# T0 r  }. i
  68. 1 P9 J2 u1 H& o% s/ G9 F- y
  69. for k,v in ipairs(ns) do
    + F+ Q3 T0 k' T5 Z/ E" I, g. O* ~
  70.   table.insert(fg,{App_name={Text=v}})2 m- k# |" c9 y' s6 j4 ?. n
  71.   for ks,kv in ipairs(wds[k]) do! L  m) ?3 Q* p
  72.     ase[ks]={App_name={Text=wds[k][ks]}}
    - c; U/ C+ N6 w# n' i5 i
  73.   end. Y5 b/ ~0 y1 s) u6 V6 f0 u2 [7 q
  74.   table.insert(fs,ase)
    * i  L$ N. t/ G# h
  75.   ase={}
    / G7 j, @$ o! e& o
  76. end+ t8 I- ?/ k$ K( t" y+ ]

  77. + Y" O5 ]0 u: N- r
  78. 1 E2 F3 u0 D/ ^5 ^+ M: e
  79. mAdapter.notifyDataSetChanged()
    ' j, i) M. `* y4 P1 a
  80. Expandable.setAdapter(mAdapter)# T3 X" P) O  ?7 x4 u* K
  81. % @0 x/ z6 X' i  t
  82. Expandable.onChildClick=function(l,v,g,c)9 [8 r" o: x  P; B
  83.   print(":ChildClick")
    6 ?- B. b) [9 V# C' c
  84. end
    ! F( [8 T& q6 x& o

  85. ; q" N6 g# ?6 P  X) ~( D. s7 i
  86. Expandable.onGroupClick=function(l,v,p,s)
    - J6 V5 K1 A" {; U
  87.   print(":GroupClick")
    : R8 L( f& u  p/ f4 U% V. b0 N
  88. end
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-19 13:26 , Processed in 0.056314 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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