Android中GridView以表格形式显示多张图片(仿桌面)
来源:互联网 发布:禅道 mysql数据库连接 编辑:程序博客网 时间:2024/06/04 21:46
编写不易,如有转载,请声明出处: 梦回河口:http://blog.csdn.net/zxc514257857/article/details/52762665
GridView可以理解为显示多列的ListView,这次就利用GridView做一个仿桌面的案例。GridView和ListView的使用相同,都基本使用以下三步走:设置数据源,设置适配器,设置监听器。
1,Demo展示图片
2,布局代码
//(layout)activity_main.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#000" tools:context="com.test.gridview.MainActivity"> <GridView android:id="@+id/gridView" android:numColumns="3" android:layout_marginTop="20dp" android:horizontalSpacing="30dp" android:verticalSpacing="30dp" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <!--注 numColumns 表示GridView的列数 horizontalSpacing 表示水平间距 verticalSpacing 表示垂直间距 --></LinearLayout>-------------------------------------------------------------------//(layout)gridview_item.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#000" android:gravity="center"> <ImageView android:id="@+id/image" android:src="@mipmap/address_book" android:layout_width="60dp" android:layout_height="60dp"/> <TextView android:id="@+id/text" android:layout_marginTop="6dp" android:text="文字" android:textColor="#fff" android:layout_centerHorizontal="true" android:layout_below="@+id/image" android:layout_width="wrap_content" android:layout_height="wrap_content"/></LinearLayout>
3,Activity代码
//MainActivityimport android.content.Context;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.AdapterView;import android.widget.GridView;import android.widget.SimpleAdapter;import android.widget.Toast;import java.util.HashMap;import java.util.LinkedList;import java.util.List;import java.util.Map;public class MainActivity extends AppCompatActivity { private Context mContext = MainActivity.this; private GridView mGridView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initData(); } private void initView(){ mGridView = (GridView) findViewById(R.id.gridView); } private void initData(){ List<Map<String , Object>> list = new LinkedList<>(); int[] icon = {R.mipmap.address_book , R.mipmap.calendar , R.mipmap.camera , R.mipmap.clock , R.mipmap.games_control , R.mipmap.messenger , R.mipmap.ringtone , R.mipmap.settings , R.mipmap.speech_balloon , R.mipmap.weather , R.mipmap.world , R.mipmap.youtube}; final String[] iconName ={"通讯录" , "日历" , "照相机" , "时钟" , "游戏" , "短信" , "铃声" , "设置" , "语音" , "天气" , "浏览器" , "视频"}; // 在for循环里填充数据 for(int i = 0 ; i < icon.length ;i++){ Map<String , Object> map = new HashMap<>(); map.put("image" , icon[i]); map.put("text" , iconName[i]); list.add(map); } SimpleAdapter adapter = new SimpleAdapter(this, list , R.layout.gridview_item , new String[]{"image" , "text"} , new int[]{R.id.image , R.id.text}); mGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) { Toast.makeText(mContext , "正在进入" + iconName[position] + "应用" , Toast.LENGTH_SHORT).show(); } }); mGridView.setAdapter(adapter); }}
Demo下载请移步:
因本人才疏学浅,如博客或Demo中有错误的地方请大家随意指出,与大家一起讨论,共同进步,谢谢!
1 0
- Android中GridView以表格形式显示多张图片(仿桌面)
- Android--GridView以表格的形式显示多张图片
- 使用GridView以表格形式显示多张图片
- 使用GridView以表格形式显示多张图片
- 使用GridView以表格形式显示多张图片
- Android学习-使用GridView以表格形式显示多张图片
- 【android控件学习笔记】GridView表格形式显示多张图片
- 使用GridView表格显示多张图片
- Gridview显示多张网络图片
- java中查询数据库并以表格形式显示
- Android 中实现0张,或者多张图片显示的方法
- Android中GridView来显示图片
- Android中GridView来显示图片
- Android中显示gif图(支持多张显示)
- 仿Android GridView以解决ScrollView中嵌套自带GridView滚动条冲突问题
- 用.net实现网页图片以幻灯片形式播放,图片从数据库中读取前5张!!
- 将数据库中的内容以表格形式显示到页面的div中
- 显示多张图片
- Hard 211题 Add and Search Word - Data structure design
- 公私钥加解密问题汇总
- Java_Swing图形界面-1选项卡的创建-2使其靠左垂直对齐
- 【Visual Studio】VS2012中添加模板
- Zookeeper 错误 Will not attempt to authenticate using SASL (unknown error)
- Android中GridView以表格形式显示多张图片(仿桌面)
- 66. Plus One
- opengl学习第三课(点和线的处理)
- 比较好的dx opegl学习相关网站
- 扑克牌洗牌代码
- [Android] 最全内存分析—2016年10月9日
- Python list,tuple,dict,set区别
- 67. Add Binary
- Docker 使用国内加速器