日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

            
                
            歡迎訪問 生活随笔!

            生活随笔

            當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

            编程问答

            android开发桌面源码,android launcher 源码 自己开发启动桌面

            發(fā)布時(shí)間:2025/3/20 编程问答 25 豆豆
            生活随笔 收集整理的這篇文章主要介紹了 android开发桌面源码,android launcher 源码 自己开发启动桌面 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

            /*

            5k桌面 源碼

            作者:基哥

            AndroidManifest.xml重要配置:

            壁紙背景(三選一):

            android:theme="@android:style/Theme.Wallpaper"

            android:theme="@android:style/Theme.Wallpaper.NoTitleBar"

            android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"

            */

            package l.l;

            import android.app.*;

            import android.content.*;

            import android.content.pm.*;

            import android.os.*;

            import android.view.*;

            import android.widget.*;

            import android.widget.AdapterView.*;

            import java.util.*;

            import android.util.*;

            import android.net.*;

            import android.provider.*;

            public class l extends Activity {

            GridView g;

            private List apps;

            int w,h,p;

            Context c;

            @Override

            protected void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            setTheme(android.R.style.Theme_Wallpaper_NoTitleBar);

            /*

            在AndroidManifest.xml添加

            android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"

            再用setTheme,就型成一種啟動(dòng)效果

            */

            if(Build.VERSION.SDK_INT==Build.VERSION_CODES.KITKAT)

            {

            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

            }

            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)

            {

            getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);

            getWindow().setStatusBarColor(0x00000000);

            }

            c=this;

            DisplayMetrics metric = new DisplayMetrics();

            getWindowManager().getDefaultDisplay().getMetrics(metric);

            w = metric.widthPixels;

            h = metric.heightPixels;

            p=w/60;

            apps = getPackageManager().queryIntentActivities(new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER), 0);

            g = new GridView(this);

            g.setAdapter(new AppsAdapter());

            g.setOnItemLongClickListener(new OnItemLongClickListener(){

            @Override

            public boolean onItemLongClick(AdapterView> a, View v, int i, long l)

            {

            String s=apps.get(i).activityInfo.packageName;

            Intent localIntent = new Intent();

            localIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

            if (Build.VERSION.SDK_INT >= 9) {

            localIntent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);

            localIntent.setData(Uri.fromParts("package", s, null));

            } else if (Build.VERSION.SDK_INT <= 8) {

            localIntent.setAction(Intent.ACTION_VIEW);

            localIntent.setClassName("com.android.settings", "com.android.settings.InstalledAppDetails");

            localIntent.putExtra("com.android.settings.ApplicationPkgName", s);

            }

            startActivity(localIntent);

            return true;

            }

            });

            g.setOnItemClickListener(new OnItemClickListener() {

            @Override

            public void onItemClick(AdapterView> adapterView, View view, int i, long l) {

            ActivityInfo a=apps.get(i).activityInfo;

            startActivity(new Intent().setComponent(new ComponentName(a.packageName, a.name)));

            }

            });

            g.setNumColumns(5);

            addContentView(g,new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));

            }

            public class AppsAdapter extends BaseAdapter {

            @Override

            public int getCount() {

            return apps.size();

            }

            @Override

            public Object getItem(int i) {

            return apps.get(i);

            }

            @Override

            public long getItemId(int i) {

            return i;

            }

            @Override

            public View getView(int in, View view, ViewGroup viewGroup) {

            app a;

            if(view == null){

            a = new app();

            ImageView i??;

            LinearLayout l;

            TextView t;

            l=new LinearLayout(c);

            l.setOrientation(LinearLayout.VERTICAL);

            l.setGravity(Gravity.CENTER);

            i = new ImageView(c);

            i.setPadding(p,p,p,p);

            i.setScaleType(ImageView.ScaleType.FIT_CENTER);

            i.setLayoutParams(new GridView.LayoutParams(w/6, w/6));

            l.addView(i);

            t=new TextView(c);

            t.setMaxLines(1);

            t.setGravity(Gravity.CENTER);

            l.addView(t);

            a.i=i;

            a.t=t;

            view=l;

            view.setTag(a);

            } else {

            a=(app) view.getTag();

            }

            ActivityInfo app=apps.get(in).activityInfo;

            a.i.setImageDrawable(app.loadIcon(getPackageManager()));

            a.t.setText(app.loadLabel(getPackageManager()));

            return view;

            }

            class app

            {

            ImageView i;

            TextView t;

            }

            }

            }

            《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

            總結(jié)

            以上是生活随笔為你收集整理的android开发桌面源码,android launcher 源码 自己开发启动桌面的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

            如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。