摘要:本文将带你了解Android编程之ListView的扩展组件,希望本文对大家学Android有所帮助
如果你对Android提供的Android ExpandableListView并不满意,一心想要实现诸如Spotify应用那般的效果,那么SlideExpandableListView绝 对是你最好的选择。该库允许你自定义每个列表项目中的ListView,一旦用户点击某个按钮,即可实现该列表项目区域滑动。
使用
Layout
正常使用一个listview , 你也有可能使用ListActivity 或者 ListFragment
Java
<ListView
android:id="@+id/list"
android:layout_height="fill_parent"
android:layout_width="fill_parent" />
1234
<ListView android:id="@+id/list" android:layout_height="fill_parent" android:layout_width="fill_parent" />
list item view 应该有一个切换按钮(Button View), 一个将被扩展目标view, 这个扩展的view 默认是隐藏的, 但点击toogle按钮时候,显示
例如我们使用 R.id.expandable_toggle_button 标注Button View 使用.a R.id.expandable 被扩展的view,
Java
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="//schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/text"
android:text="Hello World"/>
<!-- this is the button that will trigger sliding of the expandable view -->
<Button
android:id="@+id/expandable_toggle_button"
android:text="More"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/text"
android:layout_alignParentRight="true"
android:layout_alignTop="@id/text"/>
</RelativeLayout>
<!-- this is the expandable view that is initially hidden and will slide out when the more button is pressed -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:id="@+id/expandable"
android:background="#000000">
<!-- put whatever you want in the expandable view -->
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="0.5"
android:text="Action A" />
<Button
android:id="@+id/details"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="0.5"
android:text="Action B"/>
</LinearLayout>
</LinearLayout>
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="//schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/text" android:text="Hello World"/> <!-- this is the button that will trigger sliding of the expandable view --> <Button android:id="@+id/expandable_toggle_button" android:text="More" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/text" android:layout_alignParentRight="true" android:layout_alignTop="@id/text"/> </RelativeLayout> <!-- this is the expandable view that is initially hidden and will slide out when the more button is pressed --> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:id="@+id/expandable" android:background="#000000"> <!-- put whatever you want in the expandable view --> <Button android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="0.5" android:text="Action A" /> <Button android:id="@+id/details" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="0.5" android:text="Action B"/> </LinearLayout></LinearLayout>
定义你的 ListAdapter
Java
ListView list = ... your list view
ListAdapter adapter = ... your list adapter
// now simply wrap the adapter
// and indicate the ids of your toggle button
// and expandable view
list.setAdapter(
new SlideExpandableListAdapter(
adapter,
R.id.expandable_toggle_button,
R.id.expandable
)
);
ListView list = ... your list view ListAdapter adapter = ... your list adapter // now simply wrap the adapter // and indicate the ids of your toggle button // and expandable view list.setAdapter( new SlideExpandableListAdapter( adapter, R.id.expandable_toggle_button, R.id.expandable ) );
项目主页:https://github.com/tjerkw/Android-SlideExpandableListView
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号