android-一个简单的手机桌面(GridView+SimpleAdapter)

activity_main

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@drawable/rrrr"
   >
    
    <GridView
        android:layout_marginTop="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:horizontalSpacing="10dp"
        android:numColumns="3"
        android:verticalSpacing="10dp"
        android:id="@+id/gridview">
    </GridView>
</LinearLayout>

androidmanifest

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.wuzuo.zhuomian">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@android:style/Theme.NoTitleBar">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

MainActivity

package com.example.wuzuo.zhuomian;

import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.SimpleAdapter;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class MainActivity extends Activity implements AdapterView.OnItemClickListener{
private GridView gridView;
    private SimpleAdapter simpleAdapter;
    private List<Map<String,Object>> dataList;
    private int[] icon={R.drawable.address_book,R.drawable.calendar,R.drawable.camera,R.drawable.clock,R.drawable.games_control,R.drawable.messenger,R.drawable.ringtone,R.drawable.settings,R.drawable.speech_balloon,R.drawable.weather,R.drawable.world,R.drawable.youtube};
    private String[] iconName={"通讯录","日历","相机","时钟","游戏","联系人","铃声","设置","短信","天气","浏览器","视频"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        gridView= (GridView) findViewById(R.id.gridview);
        dataList=new ArrayList<Map<String, Object>>() ;
        simpleAdapter=new SimpleAdapter(this,getdata(),R.layout.main,new String[]{"image1","text1"},new int[]{R.id.image1,R.id.text1});
        gridView.setAdapter(simpleAdapter);
       gridView.setOnItemClickListener(this);

    }
    private  List<Map<String,Object>> getdata()
    {
        for(int i=0;i<iconName.length;i++)
        {
           Map<String,Object>map=new HashMap<String, Object>();
            map.put("image1",icon[i]);
            map.put("text1",iconName[i]);
            dataList.add(map);
        }
        return dataList;
    }


    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Toast.makeText(this," "+iconName[position],Toast.LENGTH_SHORT).show();
    }
}
main
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="#00000000"
    android:gravity="center">
    <ImageView
        android:layout_width="60dp"
        android:id="@+id/image1"
        android:layout_height="60dp"
        android:src="@mipmap/ic_launcher"/>
    <TextView
        android:layout_marginTop="5dp"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:id="@+id/text1"
        android:textColor="#ffffff"
        android:text="文字"
     android:gravity="center"/>

</LinearLayout>



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Android 应用程序中使用 GridView 控件,可以按照以下步骤进行操作: 1. 在 layout 文件夹中创建一个新的布局文件 activity_main.xml。 2. 在布局文件中添加一个 GridView 控件。 3. 创建一个新的适配器类,用于将数据绑定到 GridView 控件中。 4. 在 MainActivity.java 文件中实例化适配器类并将其设置为 GridView 控件的适配器。 下面是完整的实现步骤: 1. 在 layout 文件夹中创建一个新的布局文件 activity_main.xml: ```xml <?xml version="1.0" encoding="utf-8"?> <GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/grid_view" android:layout_width="match_parent" android:layout_height="match_parent" android:numColumns="3" android:verticalSpacing="10dp" android:horizontalSpacing="10dp" android:padding="10dp" android:gravity="center" /> ``` 在上面的布局中,我们定义了一个 GridView 控件,并设置了它的一些属性,如 ID、宽度、高度、列数、垂直和水平间距、内边距以及内容的对齐方式。 2. 在 MainActivity.java 文件中,定义一个数据数组和适配器类: ```java public class MainActivity extends AppCompatActivity { private GridView gridView; private int[] images = { R.drawable.image1, R.drawable.image2, R.drawable.image3, R.drawable.image4, R.drawable.image5, R.drawable.image6, R.drawable.image7, R.drawable.image8, R.drawable.image9 }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gridView = findViewById(R.id.grid_view); ImageAdapter adapter = new ImageAdapter(this, images); gridView.setAdapter(adapter); } private class ImageAdapter extends BaseAdapter { private Context context; private int[] images; public ImageAdapter(Context context, int[] images) { this.context = context; this.images = images; } @Override public int getCount() { return images.length; } @Override public Object getItem(int position) { return images[position]; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView; if (convertView == null) { imageView = new ImageView(context); imageView.setLayoutParams(new GridView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 350)); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); imageView.setPadding(10, 10, 10, 10); } else { imageView = (ImageView) convertView; } imageView.setImageResource(images[position]); return imageView; } } } ``` 在上面的代码中,我们首先定义了一个数据数组 images,其中包含了要显示的图片资源的 ID。然后,我们创建了一个 ImageAdapter 类,用于将图片绑定到 GridView 控件中。 在 ImageAdapter 类中,我们实现了 getCount()、getItem()、getItemId() 和 getView() 方法。getCount() 方法返回数据集中的项数,getItem() 方法返回指定位置的数据项,getItemId() 方法返回指定位置的数据项的 ID,getView() 方法返回一个 View 对象,用于显示指定位置的数据项。 在 getView() 方法中,我们首先判断 convertView 是否为空,如果为空,则创建一个新的 ImageView 对象,并设置它的布局参数、缩放类型和内边距;否则,直接使用 convertView。然后,我们将指定位置的图片资源设置为 ImageView 的图片,并返回 ImageView 对象。 最后,在 MainActivity 类的 onCreate() 方法中,我们获取了 GridView 控件的实例,并实例化了 ImageAdapter 类,并将它设置为 GridView 控件的适配器。 注意:在实际开发中,为了更好的性能和用户体验,建议使用异步任务来加载图片。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值