自己動手寫android手機桌面(第一篇)
阿新 • • 發佈:2019-02-10
廢話不多說了.我們現在要做的不是改原生的Launcher.apk,而是做個相當於普通apk能刪除與安裝的桌面,現在市面上有的如:91的熊貓桌面.還有其他一些在開發的就不多說了.
先什麼都不說來段demo最實際,一切從最原始的興趣驅動,有了小成就才更有動力來了解與學習launcher,需要刨根問底的同學們,自己google先.
Manager.java
Html程式碼- package com.jaryou;
- import com.nebulalauncher.R;
- import android.app.Activity;
- import android.os.Bundle;
- public class Manager extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- }
- }
Launcher.java Java程式碼
- package com.jaryou.launcher;
- import com.nebulalauncher.R;
- import android.app.Activity;
- import android.os.Bundle;
- publicclass Launcher extends Activity{
- /** Called when the activity is first created. */
- @Override
- publicvoid onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.launcher);
- }
- }
launcher.xml
Html程式碼
- <?xml version="1.0"encoding="utf-8"?>
- <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/hello"
- />
- </LinearLayout>
main.xml Html程式碼
- <?xml version="1.0"encoding="utf-8"?>
- <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/hello"
- />
- </LinearLayout>
Html程式碼
- <?xml version="1.0"encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.nebulalauncher"android:versionCode="1"
- android:versionName="1.0">
- <applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
- <!-- 作為桌面設定的Activity -->
- <activityandroid:name=".Manager"android:label="@string/app_name">
- <intent-filter>
- <actionandroid:name="android.intent.action.MAIN"/>
- <categoryandroid:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
- </activity>
- <!-- 作為桌面Activity -->
- <activityandroid:name="com.jaryou.launcher.Launcher">
- <intent-filter>
- <actionandroid:name="android.intent.action.MAIN"/>
- <!-- 關鍵部分 開始-->
- <categoryandroid:name="android.intent.category.HOME"/>
- <categoryandroid:name="android.intent.category.DEFAULT"/>
- <!-- 關鍵部分 結束-->
- </intent-filter>
- </activity>
- </application>
- <uses-permissionandroid:name="android.permission.CALL_PHONE"/>
- <uses-permissionandroid:name="android.permission.EXPAND_STATUS_BAR"/>
- <uses-permissionandroid:name="android.permission.GET_TASKS"/>
- <uses-permissionandroid:name="android.permission.READ_CONTACTS"/>
- <uses-permissionandroid:name="android.permission.SET_WALLPAPER"/>
- <uses-permissionandroid:name="android.permission.SET_WALLPAPER_HINTS"/>
- <uses-permissionandroid:name="android.permission.VIBRATE"/>
- <uses-permissionandroid:name="android.permission.WRITE_SETTINGS"/>
- </manifest>
新建個android的專案,將上面的程式碼貼進去,然後執行.
ok,然後再長按 掛機鍵 出現桌面選擇提示
1.啟動器(預設launcher)
2. 你的應用名稱
這時候選擇你的應用,會發現桌面變成了你的剛弄的這個demo了.
如果需要變回原來的launcher.只需要要長按掛機鍵然後鬆開就能換回預設桌面.
不多說了.先去體現下吧.