首页 > 网名大全 正文
“qq名字倒过来的代码“qq消息倒过来的代码

时间:2023-02-22 04:47:37 阅读: 评论: 作者:佚名

QQ手机联系人具有折叠联系人列表的功能,该功能是如何实现的?其实很简单。

实施阶段

1.使用系统控制ExpandableListView执行此功能。ExpandableListView是系统的可折叠控件

?嗯?Xml版本=' 1.0' encoding=' utf-8 '

linear layout xmlns : Android='

Android : orientation=' vertical '

Android : layout _ width=' match _ parent '

Android : layout _ height=' match _ parent '

ExpandableListView

Android : id=' @ id/QQ _ list '

Android : layout _ width=' match _ parent '

Android : layout _ height=' match _ parent '/

/LinearLayout

2.准备数据

Private fun setListData() {

//建立两个主要项目标题

Valtitle _ 1=hashmapstring,string()

Valtitle _ 2=hashmapstring,string()

Valtitle _ 3=hashmapstring,string()

title _ 1[' group ']='林炳文'

title _ 2[' group ']='文炳林'

Gruo(标题_ 1)

Gruo(标题_ 2)

//创建次项目内容

//内容1

valtitle _ 1 _ content _ 1=hash mapstring,string()

valtitle _ 1 _ content _ 2=hash mapstring,string()

valtitle _ 1 _ content _ 3=hash mapstring,string()

Title_1_content_1['child']='操作者'

Title_1_content_2['child']='学生'

Title_1_content_3['child']='农民'

Valchilds _ 1=arraylistmapstring,string()

C(title_1_content_1)

C(title_1_content_2)

C(title_1_content_3)

//内容2

valtitle _ 2 _ content _ 1=hash mapstring,string()

valtitle _ 2 _ content _ 2=hash mapstring,string()

valtitle _ 2 _ content _ 3=hash mapstring,string()

Title_2_content_1['child']='猩猩'

Title_2_content_2['child']='老虎'

Title_2_content_3['child']='狮子'

Title_2_content_3['child']='狮子'

Valchilds _ 2=arraylistmapstring,string()

C(title_2_content_1)

C(title_2_content_2)

C(title_2_content_3)

C(childs_1)

C(childs_2)

SetAdapter()

}

3.准备项目布局文件

LinearLayout

xmlns : Android='

Android : orientation=' vertical '

Android : layout _ width=' match _ parent '

Android : layout _ height=' wrap _ content '

TextView

android:id="@+id/textGroup" android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingLeft="40dp" android:paddingTop="6dp" android:paddingBottom="6dp" android:textSize="25sp" android:text="No data"/> </LinearLayout> <LinearLayout xmlns:android="; android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" >    <TextView android:id="@+id/textChild" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingLeft="60dp" android:paddingTop="10dp" android:paddingBottom="10dp" android:textSize="20sp" android:text="No Data" /> </LinearLayout>

3.设置适配器

private fun setAdapter() { //创建ExpandableList的Adapter容器 参数: // 1.上下文 // 2.一级集合 // 3.一级样式文件 // 4. 一级条目键值 // 5.一级显示控件名 // 6. 二级集合 // 7. 二级样式 // 8.二级条目键值 // 9.二级显示控件名 val simpleExpandableListAdapter = SimpleExpandableListAdapter( this, gruops, R.layout.groups, arrayOf("group"), intArrayO), childs, R.layout.childs, arrayOf("child"), intArrayO) ) qq_li(simpleExpandableListAdapter) }

4.搞定!是的你没有看错,这就搞定了(如果你还想进行自定义其他的布局文件,需要继承并自定义适配器,然后也同样的简单)

Screen

总结

完整的逻辑代码

class QQContactActivity : Activity() { var gruops = ArrayList<Map<String, String>>() var childs = ArrayList<List<Map<String, String>>>() override fun onCreate(savedInstanceState: Bundle?) { (savedInstanceState) setContentView) setListData() } private fun setListData() { // 创建二个一级条目标题 val title_1 = HashMap<String, String>() val title_2 = HashMap<String, String>() val title_3 = HashMap<String, String>() title_1["group"] = "林炳文" title_2["group"] = "文炳林" gruo(title_1) gruo(title_2) // 创建二级条目内容 // 内容一 val title_1_content_1 = HashMap<String, String>() val title_1_content_2 = HashMap<String, String>() val title_1_content_3 = HashMap<String, String>() title_1_content_1["child"] = "工人" title_1_content_2["child"] = "学生" title_1_content_3["child"] = "农民" val childs_1 = ArrayList<Map<String, String>>() c(title_1_content_1) c(title_1_content_2) c(title_1_content_3) // 内容二 val title_2_content_1 = HashMap<String, String>() val title_2_content_2 = HashMap<String, String>() val title_2_content_3 = HashMap<String, String>() title_2_content_1["child"] = "猩猩" title_2_content_2["child"] = "老虎" title_2_content_3["child"] = "狮子" title_2_content_3["child"] = "狮子" val childs_2 = ArrayList<Map<String, String>>() c(title_2_content_1) c(title_2_content_2) c(title_2_content_3) c(childs_1) c(childs_2) setAdapter() } private fun setAdapter() { //创建ExpandableList的Adapter容器 参数: // 1.上下文 // 2.一级集合 // 3.一级样式文件 // 4. 一级条目键值 // 5.一级显示控件名 // 6. 二级集合 // 7. 二级样式 // 8.二级条目键值 // 9.二级显示控件名 val simpleExpandableListAdapter = SimpleExpandableListAdapter( this, gruops, R.layout.groups, arrayOf("group"), intArrayO), childs, R.layout.childs, arrayOf("child"), intArrayO) ) qq_li(simpleExpandableListAdapter) } }
  • 相关阅读
  • 评论列表

发表评论: