導航:首頁 > 定製細節 > 怎麼深度定製launcher

怎麼深度定製launcher

發布時間:2021-03-03 06:19:54

① 如何定製Launcher主菜單中應用程序的顯示順序

應用程來序錯誤解決方法:
1.檢查電腦是源否存在病毒,請使用網路衛士進行木馬查殺。
2.系統文件損壞或丟失,盜版系統或Ghost版本系統,很容易出現該問題。建議:使用完整版或正版系統。
3.安裝的軟體與系統或其它軟體發生沖突,找到發生沖突的軟體,卸載它。如果更新下載補丁不是該軟體的錯誤補丁,也會引起軟體異常,解決辦法:卸載該軟體,重新下載重新安裝試試。順便檢查開機啟動項,把沒必要啟動的啟動項禁止開機啟動。
4.如果檢查上面的都沒問題,可以試試下面的方法。
打開開始菜單→運行→輸入cmd→回車,在命令提示符下輸入下面命令 for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1回車。
完成後,在輸入下面
for %i in (%windir%\system32\*.ocx) do regsvr32.exe /s %i 回車。
如果怕輸入錯誤,可以復制這兩條指令,然後在命令提示符後擊滑鼠右鍵,打「粘貼」,回車,耐心等待,直到屏幕滾動停止為止(重啟電腦)。

② 為什麼國內手機廠商都選擇深度定製安卓系統而不是自己做一個系統

花費多少精力?
這不是值不值得花費精力去做系統的問題,你可以看一下現在專的微軟,它的windows phone生態屬沒做好,有幾個人買?
國內有哪個廠商有那個魄力或者說敢有那個魄力另起爐灶?要知道,微軟這么做,因為它必須,而且它最有錢!

③ 如何在Android上開發屬於自己的定製化啟動器

從最基本的概念角度來講,啟動器其實應該是一款能夠實現以下功能的應用程序:

它代表著一台設備的主屏幕。
它能夠列出並啟動已經安裝在該設備當中的應用程序。

換句話來說,它就是那款用戶按下home按鈕後所顯示的應用程序。除非大家已經安裝了定製化啟動器,否則我們目前正在使用的應該都是Android系統自帶的默認啟動方案。不少設備製造商都會在產品中默認使用由其定製的啟動器,從而確保我們獲得與廠商預期相符的外觀效果與使用感受,例如三星TouchWiz以及HTC
Sense。

在今天的教程中,我們將利用基本用戶界面創建出一款簡單的啟動器,它將由兩部分屏幕構成:

在主屏幕中顯示的是該設備的牆紙圖案。
另一屏幕中顯示的是已經安裝在設備當中的應用程序圖標及其它細節信息。

1.要求

大家需要在自己的開發設備上預先安裝並配置好以下項目:

Android SDK以及平台工具
Eclipse IDE 3.7.2或者更高版本,同時具備ADT插件
運行有Android 2.2或者更高版本的模擬器或者Android設備

大家可以點擊此處通過Android開發者門戶下載對應SDK及平台工具。

2.項目設置

首先我們需要啟動Eclipse並創建一個新的Android應用程序項目。我為這個應用取了個非常直白的名稱——SimpleLauncher,當然大家也可以自由選擇自己想要的名稱。請確保軟體包名稱沒有與其它項目出現重復。我們的啟動器所能支持的最低SDK版本為「凍酸奶」,而主要的面向版本則為「果凍豆」。

由於我們不打算創建Activity,因此取消「Create Activity」勾選項,然後點擊「Finish」以繼續。

3.項目清單

接下來我們需要通過添加兩個activity對AndroidManifest.xml文件進行修改。第一個Activity用於顯示主屏幕,我們如下所示將其命名為HomeActivity。
<activity android:name="ah.hathi.simplelauncher.HomeActivity" android:label="Simple Launcher Home" android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen" android:launchMode="singleTask" android:stateNotNeeded="true" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>

通過將android.intent.category.HOME與android.intent.category.DEFAULT兩個類添加至intent-filter組當中,相關Activity得以擁有與啟動器概念相符的運行方式。當大家按下設備上的home按鈕時,其還將作為選項方案顯示出來。

我們還需要將launchMode設置到singleTask當中,從而確保無論何時都只有單一Activity實例由系統負責運行。要顯示用戶的牆紙圖案,大家必須將主題設置為Theme.Wallpaper.NoTitleBar.FullScreen。

我們需要添加的第二個Activity負責顯示已經安裝在用戶設備中的應用程序條目。它還有另一項任務,即啟動這些應用程序。我們不需要對該Activity進行任何特殊配置,將其命名為AppsListActivity即可。
<activity android:name="ah.hathi.simplelauncher.AppsListActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" > </activity>

4.Activity布局

下面在項目的res/layout文件夾中為HomeActivity類創建一個XML文件,並將其命名為activity_home.xml。該布局擁有一個單獨的Button用以響應點觸事件。點觸該按鈕能夠讓用戶由主屏幕切換至應用程序列表。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".HomeActivity" > <Button android:id="@+id/apps_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_marginRight="10dp" android:layout_marginTop="10dp" android:text="Show Apps" android:onClick="showApps" /> </RelativeLayout>

接下來,在項目的res/layout文件夾中為AppsListActivity類創建一個XML文件並將其命名為activity_apps_list.xml。該布局當中包含一個占據整個屏幕的ListView。
<?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" > <ListView android:id="@+id/apps_list" android:layout_width="match_parent" android:layout_height="match_parent" > </ListView> </LinearLayout>

最後,在同樣的位置創建第三個XML文件並將其命名為list_item.xml。該文件用於定義ListView當中各個條目的布局方案。列表視圖中的每個條目都代表著已經安裝在用戶設備上的一款應用程序。它能夠顯示該應用程序的圖標、標簽以及軟體包名稱。我們可以利用ImageView實例來顯示該應用的圖標,並通過TextView實例顯示標簽與軟體包名稱。
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="10dp" > <ImageView android:id="@+id/item_app_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" /> <TextView android:id="@+id/item_app_label" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@+id/item_app_icon" android:paddingLeft="10dp" /> <TextView android:id="@+id/item_app_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/item_app_label" android:layout_toRightOf="@+id/item_app_icon" android:paddingLeft="10dp" /> </RelativeLayout>

5.創建Acitivity類

HomeActivity

應用程序的布局方案創建完成之後,現在要做的是創建兩個Activity類。當創建這兩個類時,請確保每個類的名稱都與我們之前在項目清單文件中所指定的內容相匹配。

創建一個名為HomeActivity的新類,然後將android.app.Activity設置為其超類。
package ah.hathi.simplelauncher; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; public class HomeActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); } public void showApps(View v){ Intent i = new Intent(this, AppsListActivity.class); startActivity(i); } }

在該類的onCreate方法中,我們調用setContentView並將其傳遞至之前已經創建完成的布局當中。大家可能還記得,我們曾為activity_home布局添加過一個按鈕,用於觸發名為showApps的方法。現在我們要做的是將該方法引入HomeActivity類當中。整個添加過程非常簡單,各位需要做的只是為AppsListActivity類創建一個Intent並付諸運行。

④ android launcher定製多少錢

如果你要定製一個Android系統,你想用你自己的Launcher(Home)作主界面來替換Android自帶的內Home,而且不希容望用戶安裝的Launcher來替換掉你的Launcher,應該如何來實現呢? 我們可以通過修改Framework層來實現這樣的功能。 1) 首先了解一下Android...

⑤ miui如何深度定製,改了原生系統什麼東西

MIUI是小米公司旗下基於Android系統深度優化、定製、開發的第三方手機操作系統,能夠帶給國內用戶更為貼心的Android智能手機體驗。從2010年8月16日首個內測版發布至今,MIUI目前已經擁有國內外50萬的發燒友用戶,享譽中國、英國、德國、西班牙、義大利、澳大利亞、美國、俄羅斯、荷蘭、瑞士、巴西等多個國家。 MIUI是一個基於CyanogenMod而深度定製的Android移動操作系統,它大幅修改了Android本地的用戶介面並移除了其應用程序列表(Application drawer)以及加入大量來自蘋果公司iOS的設計元素,這些改動也引起了民間把它和蘋果iOS比較。 MIUI系統亦採用了和原裝Android不同的系統應用程序,取代了原裝的音樂程序、調用程序、相冊程序、相機程序及通知欄,添加了原本沒有的功能。 由於MIUI重新製作了Android的部分系統資料庫表並大幅修改了原生系統的應用程序,因此MIUI的數據與Android的數據互不兼容,有可能直接導致的後果是應用程序的不兼容。 MIUI是一個由中國一組愛好者一起開發的定製化系統,根據中國用戶的需求而作出修改,現正處於Beta測試階段,在收集用戶意見後每逢周五均會提供OTA升級。現時MIUI系統由小米科技負責開發,而小米科技已經推出一部預裝MIUI,名為小米手機的智能手機。

⑥ 安卓系統被廠家深度定製,無法破解最高許可權。且無法進入RE模式。

破解最高許可權是肯定能行的, 平時沒事多泡泡論壇,里邊絕對有方法。RE模式同樣的。這個不關廠家深度定製的事情,只要是安卓,就肯定可以root, 也就是獲取最高許可權的

⑦ 如何定製 android 主界面

果你要定製一個Android系統,你想用你自己的Launcher(Home)作主界面來替換Android自己的Home,而且不希望用戶安裝的Launcher來替換掉你的Launcher.
我們可以通過修改Framework來實現這樣的功能。

這里以Android2.1的源代碼為例來實際說明。

1)首先了解一下Android的啟動過程。
Android系統的啟動先從Zygote開始啟動,然後......(中間的過程就不說了).....一直到了SystemServer(framework)這個地方,看到這段代碼:

/**
* This method is called from Zygote to initialize the system. This will cause the native
* services (SurfaceFlinger, AudioFlinger, etc..) to be started. After that it will call back
* up into init2() to start the Android services.
*/
native public static void init1(String[] args);

public static void main(String[] args) {
if (SamplingProfilerIntegration.isEnabled()) {
SamplingProfilerIntegration.start();
timer = new Timer();
timer.schele(new TimerTask() {
@Override
public void run() {
SamplingProfilerIntegration.writeSnapshot("system_server");
}
}, SNAPSHOT_INTERVAL, SNAPSHOT_INTERVAL);
}

// The system server has to run all of the time, so it needs to be
// as efficient as possible with its memory usage.
VMRuntime.getRuntime().setTargetHeapUtilization(0.8f);

System.loadLibrary("android_servers");
init1(args);
}

public static final void init2() {
Log.i(TAG, "Entered the Android system server!");
Thread thr = new ServerThread();
thr.setName("android.server.ServerThread");
thr.start();
}
}

從SystemServer的main函數開始啟動各種服務。
首先啟動init1,然後啟動init2.
從上面的注釋可以看到:init1這個方法時被Zygote調用來初始化系統的,init1會啟動native的服務如SurfaceFlinger,AudioFlinger等等,這些工作做完以後會回調init2來啟動Android的service。

這里我們主要來關注init2的過程。
init2中啟動ServerThread線程,
ServerThread中啟動了一系列的服務,比如這些:

ActivityManagerService
EntropyService
PowerManagerService
TelephonyRegistry
PackageManagerService
AccountManagerService
BatteryService
HardwareService
Watchdog
SensorService
BluetoothService
StatusBarService
ClipboardService
InputMethodManagerService
NetStatService
ConnectivityService
AccessibilityManagerService
NotificationManagerService
MountService
DeviceStorageMonitorService
LocationManagerService
SearchManagerService
FallbackCheckinService
WallpaperManagerService
AudioService
BackupManagerService
AppWidgetService

這些大大小小的服務起來以後,開始
((ActivityManagerService)ActivityManagerNative.getDefault()).systemReady()
在systemReady後開始開始啟動Launcher。

在尋找Launcher的時候是根據HOME的filter(在Manifest中定義的<category android:name="android.intent.category.HOME" />)來過濾。
然後根據filter出來的HOME來啟動,如果只有一個HOME,則啟動這個HOME,如果用戶自己裝了HOME,那就會彈出來一個列表供用戶選擇。

我們現在希望從這里彈出我們自己定製的Launcher,同時也不希望彈出選擇HOME的界面,我們不希望用戶修改我們的home,比如我們的home上放了好多廣告,以及強制安裝的程序,不希望用戶把它幹掉。

我們可以通過這樣來實現:

2) 定義一個私有的filter選項,然後用這個選項來過濾HOME.
一般情況下我們使用Manifest中定義的<category android:name="android.intent.category.HOME"來過濾的,我們現在增加一個私有的HOME_FIRST過濾。

在Intent.java(frameworks/base/core/java/android/content/Intent.java)中添加兩行代碼

//lixinso:添加CATEGORY_HOME_FIRST
@SdkConstant(SdkConstantType.INTENT_CATEGORY)
public static final String CATEGORY_HOME_FIRST = "android.intent.category.HOME_FIRST";

3)修改和CATEGORY_HOME相關的所有的地方,都改成HOME_FIRST,主要是framework中的這幾個地方:

frameworks/base/services/java/com/android/server/am/ActivityManagerService.java中
//intent.addCategory(Intent.CATEGORY_HOME);
改成intent.addCategory(Intent.CATEGORY_HOME_FIRST); //lixinso:
//if (r.intent.hasCategory(Intent.CATEGORY_HOME)) {
改成if (r.intent.hasCategory(Intent.CATEGORY_HOME_FIRST)) { //lixinso: Intent.CATEGORY_HOME -> Intent.CATEGORY_HOME_FIRST

frameworks/base/services/java/com/android/server/am/HistoryRecorder.java中
// _intent.hasCategory(Intent.CATEGORY_HOME) &&
改成 _intent.hasCategory(Intent.CATEGORY_HOME_FIRST) && //lixinso: Intent.CATEGORY_HOME->Intent.CATEGORY_HOME_FIRST

frameworks/policies/base/mid/com/android/internal/policy/impl/MidWindowManager.java中
//mHomeIntent.addCategory(Intent.CATEGORY_HOME);
改成 mHomeIntent.addCategory(Intent.CATEGORY_HOME_FIRST); //lixinso

frameworks/policies/base/mid/com/android/internal/policy/impl/RecentApplicationsDialog.java中
//new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME),0);
改成 new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME_FIRST),0); //lixinso

frameworks/policies/base/phone/com/android/internal/policy/impl/PhoneWindowManager.java中
//mHomeIntent.addCategory(Intent.CATEGORY_HOME);
改成 mHomeIntent.addCategory(Intent.CATEGORY_HOME_FIRST); //lixinso

frameworks/policies/base/phone/com/android/internal/policy/impl/RecentApplicationsDialog.java中
//ResolveInfo homeInfo = pm.resolveActivity(new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME),0);
改成 ResolveInfo homeInfo = pm.resolveActivity(new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME_FIRST),0); //lixinso

4) 寫一個自己的Launcher.
可以參考android sample中的Launcher,或者android源代碼中的 /packages/apps/Launcher 來寫。
在Launcher中標記其是不是Launcher的最關鍵的代碼時Manifest中的filter:android:name="android.intent.category.HOME"
現在我們定義了自己的filter,那麼,我們在我們自己寫的Launcher中將Manifest改為:
<application android:process="android.process.acore3" android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".FirstAppActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME_FIRST" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.MONKEY" />
</intent-filter>
</activity>
</application>

然後將編譯好的apk放到/out/target/proct/generic/system/app目錄下。

5)將Android自帶的Launcher刪除掉,包括源代碼(packages/apps/Launcher)和apk(/out/target/proct/generic/system/app/Launcher.apk)。

6)
做完這些工作,就可以重新編譯Android了,我們可以編譯修改過的幾個相關的包。
如果之前編譯過了Android源碼,可以用mmm命令來編譯部分的改動。
這里需要這樣編譯:

$ . build/envsetup.sh
$ mmm frameworks/base
$ mmm frameworks/base/services/java
$ mmm frameworks/policies/base/mid
$ mmm frameworks/policies/base/phone

7)
編譯完成後重新生成img文件。
$ make snod

8) 現在可以啟動Android模擬器來看效果了。
首先設置環境變數:
$ export ANDROID_PRODUCT_OUT= ./out/target/proct/generic
然後切換到
$ cd ./out/host/linux-x86/bin
運行
$ ./emulator

這樣我們啟動的模擬器裡面用的image就是我們剛才編譯好的自己定製的東西了。
從模擬器上可以看到啟動的Launcher是我們自己的Launcher,不會出現默認的Launcher了,也不會出現選擇界面。

9)我們再驗證一下,如果用戶裝上了一個其他的Launcher(Home)會怎麼樣。
從網上找一個一般的Launcher或者自己寫一個一般的Launcher裝上去,重新啟動,不會出現選擇界面。
按HOME鍵也不會出來兩個HOME來選擇。

⑧ 深度定製安卓系統什麼意思

深度定製又稱深度個性化定製,是消費者向企業提出單獨特殊的產品定製,主要體現在:除產品顏色、圖案、外形和組合的重新設計和定製外,還有內部結構、功能增減等變化和定製的非原生的安卓系統

⑨ 如何設置系統唯一的 launcher

定義一個私有的filter選項,然後用這個選項來過濾HOME. 一般情況下我們使用Manifest中定義的<category android:name="android.intent.category.HOME"來過濾的, 我們現在增加一個私有的HOME_FIRST過濾。 在Intent.java(frameworks/base/core/java/android/content/Intent.java)中添加兩行代碼 //lixinso:添加CATEGORY_HOME_FIRST @SdkConstant(SdkConstantType.INTENT_CATEGORY) public static final String CATEGORY_HOME_FIRST = "android.intent.category.HOME_FIRST"; 3)修改和CATEGORY_HOME相關的所有的地方,都改成HOME_FIRST,主要是framework中的這幾個地方: frameworks/base/services/java/com/android/server/am/ActivityManagerService.java中 //intent.addCategory(Intent.CATEGORY_HOME); 改成intent.addCategory(Intent.CATEGORY_HOME_FIRST); //lixinso: //if (r.intent.hasCategory(Intent.CATEGORY_HOME)) { 改成if (r.intent.hasCategory(Intent.CATEGORY_HOME_FIRST)) { //lixinso: Intent.CATEGORY_HOME -> Intent.CATEGORY_HOME_FIRST frameworks/base/services/java/com/android/server/am/HistoryRecorder.java中 // _intent.hasCategory(Intent.CATEGORY_HOME) && 改成 _intent.hasCategory(Intent.CATEGORY_HOME_FIRST) && //lixinso: Intent.CATEGORY_HOME->Intent.CATEGORY_HOME_FIRST frameworks/policies/base/mid/com/android/internal/policy/impl/MidWindowManager.java中 //mHomeIntent.addCategory(Intent.CATEGORY_HOME); 改成 mHomeIntent.addCategory(Intent.CATEGORY_HOME_FIRST); //lixinso frameworks/policies/base/mid/com/android/internal/policy/impl/RecentApplicationsDialog.java中 //new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME),0); 改成 new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME_FIRST),0); //lixinso frameworks/policies/base/phone/com/android/internal/policy/impl/PhoneWindowManager.java中 //mHomeIntent.addCategory(Intent.CATEGORY_HOME); 改成 mHomeIntent.addCategory(Intent.CATEGORY_HOME_FIRST); //lixinso frameworks/policies/base/phone/com/android/internal/policy/impl/RecentApplicationsDialog.java中 //ResolveInfo homeInfo = pm.resolveActivity(new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME),0); 改成 ResolveInfo homeInfo = pm.resolveActivity(new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME_FIRST),0); //lixinso 4) 寫一個自己的Launcher. 可以參考android sample中的Launcher,或者android源代碼中的 /packages/apps/Launcher 來寫。 在Launcher中標記其是不是Launcher的最關鍵的代碼時Manifest中的filter:android:name="android.intent.category.HOME" 現在我們定義了自己的filter,那麼,我們在我們自己寫的Launcher中將Manifest改為: <application android:process="android.process.acore3" android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".FirstAppActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME_FIRST" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.MONKEY" /> </intent-filter> </activity> </application> 然後將編譯好的apk放到/out/target/proct/generic/system/app目錄下。 5)將Android自帶的Launcher刪除掉,包括源代碼(packages/apps/Launcher)和apk(/out/target/proct/generic/system/app/Launcher.apk)。 6) 做完這些工作,就可以重新編譯Android了,我們可以編譯修改過的幾個相關的包。 如果之前編譯過了Android源碼,可以用mmm命令來編譯部分的改動。 這里需要這樣編譯: $ . build/envsetup.sh $ mmm frameworks/base $ mmm frameworks/base/services/java $ mmm frameworks/policies/base/mid $ mmm frameworks/policies/base/phone 7) 編譯完成後重新生成img文件。 $ make snod 8) 現在可以啟動Android模擬器來看效果了。 首先設置環境變數: $ export ANDROID_PRODUCT_OUT= ./out/target/proct/generic 然後切換到 $ cd ./out/host/linux-x86/bin 運行 $ ./emulator 這樣我們啟動的模擬器裡面用的image就是我們剛才編譯好的自己定製的東西了。 從模擬器上可以看到啟動的Launcher是我們自己的Launcher,不會出現默認的Launcher了,也不會出現選擇界面。

⑩ 怎麼自己做一個基於Android的深度定製Rom呢比如小米的MIUI,魅族的Flyme我需要掌

您好,
這個可不是個小項目,魅族和小米的設計團隊都是很龐大的,具體的工作崗位有回UI視覺設計。UI交互設答計。UI動態設計。Java工程師,還有各種軟體工程師等等。。。。這么一大堆設計,你怎麼搞得了。你感興趣了,撿著一個學習就行,然後自己找一下相關課程。
希望能幫助到你~

閱讀全文

與怎麼深度定製launcher相關的資料

熱點內容
定製六平方紅宇牌櫥櫃雷多少錢 瀏覽:737
寧波義大利傢具品牌有哪些品牌大全 瀏覽:636
築巢家居質量怎麼樣 瀏覽:698
上猶千惠家電電話多少 瀏覽:547
家居商場里東西有虛假怎麼辦 瀏覽:310
2020年九月多久適合裝修 瀏覽:125
鋼結構柱子用什麼材質裝修 瀏覽:943
量手定製對戒卷什麼意思 瀏覽:373
什麼木質傢具對人體健康有益 瀏覽:158
衣櫃kd軟體怎麼用 瀏覽:696
國家電網客服簡歷怎麼寫 瀏覽:877
裝修二級都能幹什麼活 瀏覽:946
金牌櫥櫃裝了多少錢 瀏覽:116
4米櫥櫃一般用多少板 瀏覽:211
為什麼裝修公司要送家電 瀏覽:874
連接衣櫃裡面的螺絲怎麼拆 瀏覽:63
大贏家電玩城怎麼老輸錢 瀏覽:717
建材門店導購怎麼樣啊 瀏覽:839
裝修垃圾有什麼東西 瀏覽:606
西安哪個建材市場出售白灰 瀏覽:302

友情鏈接