列表(ListView)、表格(GridView),这在手机应用上面肯定是少不了的,怎样实现比较复杂一点的界面呢,先看一下我的效果图。
这样布局的情况是最基本的,也是最常用的,网上关于这样的布局有多种版本的实现方法,但是有很多需要自己实现Adapter,那样子是比较复杂而且没有必要的,因为我们有简约而不简单的SimpleAdapter。
1. ListView
SimpleAdapter的核心代码:
for (int i = 0; i < 10; i++) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("PIC", R.drawable.pic);
map.put("TITLE", "Test Title");
map.put("CONTENT", "Test Content");
contents.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(this,
(List<Map<String, Object>>) contents, R.layout.listitem,
new String[] { "PIC", "TITLE", "CONTENT" }, new int[] {
R.id.listitem_pic, R.id.listitem_title,
R.id.listitem_content });
listView.setAdapter(adapter);
listitem的Layout:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="?android:attr/listPreferredItemHeight">
<ImageView android:id="@+id/listitem_pic"
android:layout_width="wrap_content" android:layout_height="fill_parent"
android:layout_alignParentTop="true" android:layout_alignParentBottom="true"
android:src="@drawable/pic" android:adjustViewBounds="true"
android:padding="2dip" />
<TextView android:id="@+id/listitem_title"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_toRightOf="@+id/listitem_pic"
android:layout_alignParentRight="true" android:layout_alignParentTop="true"
android:layout_above="@+id/listitem_content"
android:layout_alignWithParentIfMissing="true" android:gravity="center_vertical"
android:text="@+id/listitem_title" android:textSize="22px" />
<TextView android:id="@+id/listitem_content"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_toRightOf="@+id/listitem_pic"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true" android:singleLine="true"
android:ellipsize="marquee" android:text="@+id/item_content"
android:textSize="14px" />
</RelativeLayout>
2. GridView
SimpleAdapter的核心代码:
for (int i = 0; i < 10; i++) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("PIC", R.drawable.pic);
map.put("TITLE", "Test Title");
contents.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(this,
(List<Map<String, Object>>) contents, R.layout.griditem,
new String[] { "PIC", "TITLE" }, new int[] { R.id.griditem_pic,
R.id.griditem_title, });
gridView.setAdapter(adapter);
griditem的Layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent" android:layout_width="fill_parent"
android:orientation="vertical">
<ImageView android:id="@+id/griditem_pic"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal">
</ImageView>
<TextView android:id="@+id/griditem_title"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:text="test">
</TextView>
</LinearLayout>
分享到:
相关推荐
本文将深入探讨如何在Eclipse开发环境中利用ListView结合Adapter来展示数据。 首先,`ListView`是一个可滚动的视图,用于显示一组项目,每个项目都是一个单独的视图。它通过复用视图(ViewHolder模式)提高性能,...
在Android开发中,Adapter是一个非常重要的组件,它起到了数据源与UI展示之间的桥梁作用。本文将深入探讨Android的Adapter机制,以及如何使用各种Adapter来加载数据。 首先,我们需要理解Adapter的基本概念。...
赠送jar包:sentinel-spring-webmvc-adapter-1.8.0.jar; 赠送原API文档:sentinel-spring-webmvc-adapter-1.8.0-javadoc.jar; 赠送源代码:sentinel-spring-webmvc-adapter-1.8.0-sources.jar; 赠送Maven依赖信息...
赠送jar包:sentinel-spring-webmvc-adapter-1.8.0.jar; 赠送原API文档:sentinel-spring-webmvc-adapter-1.8.0-javadoc.jar; 赠送源代码:sentinel-spring-webmvc-adapter-1.8.0-sources.jar; 赠送Maven依赖信息...
为了实现更加灵活和丰富的界面展示,我们通常需要对ListView进行自定义,这涉及到自定义Adapter的使用。自定义Adapter允许我们根据需求定制ListView的每一项视图,以适应不同的数据结构和界面设计。 首先,我们需要...
【标题】:“hp usb network print adapter 驱动程序软件” 在现代办公环境中,打印机扮演着至关重要的角色,而HP USB Network Print Adapter则是将打印机连接到网络中的关键设备。驱动程序是让硬件设备与操作系统...
【标题】"Canal Adapter 1.1.4版本" Canal是阿里巴巴开源的一个数据库增量日志订阅与消费组件,主要用于实现数据库的实时数据同步。Canal Adapter是其配套的适配器模块,用于将Canal捕获到的数据库变更事件转化为...
usb 2.0 to fast ethernet adapter win7 win8 xp驱动, 我的笔记本电脑由于使用时间较长,有线接口有点接触不良,所以上网买了个USB2.0 to Fast Ethernet Adapter 的适配器(将USB口转换为网口,可以插网线),首先...
### Microsoft LoopBack Adapter 配置为系统的主网络适配器 #### 一、概述 Microsoft LoopBack Adapter 是一种特殊的网络适配器,主要用于在没有实际网络连接的情况下进行网络功能的测试。这种虚拟适配器可以在不...
【标题】"canal.adapter-1.1.6.zip" 提供的是Canal适配器的1.1.6版本,这是一个与数据库变更日志相关的软件组件。 【描述】"canal.adapter-1.1.6.zip" 指出这个压缩包包含的是Canal适配器的特定版本1.1.6,它是一个...
赠送jar包:sentinel-api-gateway-adapter-common-1.8.0.jar; 赠送原API文档:sentinel-api-gateway-adapter-common-1.8.0-javadoc.jar; 赠送源代码:sentinel-api-gateway-adapter-common-1.8.0-sources.jar; ...
本文将详细讲解如何通过包装RecyclerView的Adapter来实现“上拉加载更多”的功能,这是一个常见的滚动监听机制,可以提升用户体验,让用户在浏览列表时无缝地加载更多数据。 首先,我们需要了解RecyclerView的基本...
Apple USB Ethernet Adapter是一款由苹果公司推出的硬件设备,用于在没有内置以太网接口或无线网络不可用时,为苹果设备提供有线网络连接。这款驱动程序适用于多种Windows操作系统,包括Windows 10、Windows 8.1、...
SIMATIC PC Adapter是一款用于连接个人计算机(PC)与西门子PLC(可编程逻辑控制器)的硬件设备,以便进行编程、调试和监控任务。在早期的SIMATIC PLC系统中,许多型号并不具备以太网接口,因此必须依赖于MPI(Multi...
在Android开发中,Adapter是一个至关重要的组件,它作为数据源与UI控件之间的桥梁,使得数据能够被适配并显示在界面中。本项目聚焦于自定义Adapter的实现,特别是如何将其应用于ListView的数据显示。 首先,理解...
"PC Adapter USB Drive" 是一个与个人计算机(PC)适配相关的USB驱动器产品。这种设备通常设计用于将不同类型的接口转换为USB接口,以便于在PC上使用。它可能是硬件适配器,允许用户将非USB设备(如串口或并口设备)...
赠送jar包:sentinel-spring-cloud-gateway-adapter-1.8.0.jar; 赠送原API文档:sentinel-spring-cloud-gateway-adapter-1.8.0-javadoc.jar; 赠送源代码:sentinel-spring-cloud-gateway-adapter-1.8.0-sources....
### Esper Adapter Reference:深入了解Esper 4.3.0中的Adapter技术 Esper是一个高性能的事件处理引擎,专为实时数据分析而设计。在Esper 4.3.0版本中,Adapter扮演着连接Esper与外部数据源或目标的关键角色。它们...
USB 2.0 Fast Ethernet Adapter 是一款用于将计算机连接到以太网网络的硬件设备,它通过USB接口提供网络连接。QF9700是一款常见的USB 2.0以太网控制器,由不同的硬件制造商生产,适用于各种操作系统,包括Windows 10...