Launcher
16lz
2021-01-23
参考博客:
https://www.cnblogs.com/rayray/p/3408107.html
参考android的源码的地址:
http://androidxref.com/source/xref/packages/apps/Launcher2/src/com/android/launcher2/DragLayer.java
package bjpkten.mylauncher;import android.content.Intent;import android.content.pm.ResolveInfo;import android.os.Bundle;import android.support.annotation.NonNull;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.GridLayoutManager;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import java.util.List;public class MainActivity extends AppCompatActivity { private RecyclerView mRecyclerView; private List mApps; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mRecyclerView = (RecyclerView) findViewById(R.id.recyclerview); initData(); mRecyclerView.setAdapter(new MyRecyclerViewAdapter()); mRecyclerView.setLayoutManager(new GridLayoutManager(this,3)); } public void initData(){ Intent intent = new Intent(Intent.ACTION_VIEW,null); intent.addCategory(Intent.CATEGORY_DEFAULT); mApps = getPackageManager().queryIntentActivities(intent, 0); } class MyViewHolder extends RecyclerView.ViewHolder{ ImageView imageView; public MyViewHolder(View itemView) { super(itemView); imageView = (ImageView) itemView.findViewById(R.id.imageView); } } class MyRecyclerViewAdapter extends RecyclerView.Adapter{ @NonNull @Override public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_icon, null); return new MyViewHolder(view); } @Override public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, int i) { myViewHolder.imageView.setImageDrawable(mApps.get(i).loadIcon(getPackageManager())); } @Override public int getItemCount() { return mApps.size(); } }}
item_icon.xml:
<?xml version="1.0" encoding="utf-8"?>
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
更多相关文章
- Android 条码扫描程序源码
- Android 精仿QQ登录界面源码
- 2013.6.18 Android SDK和最新ADT下载地址
- android多框架实现短视频应用、3D手势旋转、banner控件、指南针
- android中国风笔记源码,金鱼游动动画源码等
- [实战示例] 带您深入探讨 Android 传感器【附源码】
- 在android用Google Geocoding API服务解析地址(关键词:android/GP
- 【源码分享下载】每日更新之Android项目源码---手机天气预报系统
- Android属性动画,从源码的角度分析