當前位置:首頁 » 安卓系統 » android限定符

android限定符

發布時間: 2022-12-31 07:24:47

A. android 屏幕適配

@[TOC](文章目錄)

<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">

# 前言

<font color=#999AAA >使用工具Android studio,利用values文件下dimens.xml界面適配安卓屏幕</font>

<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">

<font color=#999AAA >提示:以下是本篇文章正文內容,下面案例可供參考

# 一、概念

1.屏幕解析度單位是px,例如Android手機常見的解析度:320x480px、480x800px、720x1280px、1080x1920px。

2.手機屏幕的密度:每英寸的像素點數,單位是dpi。

| 密度類型 |代表的解析度(px)| 屏幕像素密度(dpi) | 1dp轉換為px |

|:--------|:--------|:--------|:--------|

| 低密度(ldpi) |240x320|120|0.75|

| 中密度(mdpi) |320x480|160|1|

| 高密度(hdpi)|480x800|240| 1.5|

| 超高密度(xhdpi)|720x1280|320|2|

| 超超高密度(xxhdpi) |1080x1920|480|3|

3.由於android的機型屏幕大小品類太多了,有一些是不標準的,這時我們就需要單獨去獲取屏幕的解析度和密度了。

# 二、獲取屏幕的解析度和密度

```java

DisplayMetrics displayMetrics = getResources().getDisplayMetrics();

    float density = displayMetrics.density;

    int densityDpi = displayMetrics.densityDpi;

    int width = displayMetrics.widthPixels;

    int height = displayMetrics.heightPixels;

    Log.e("123","密度:"+density+"---"+densityDpi);

    Log.e("123","屏幕解析度:"+width+"x"+height);

    Log.e("123","安卓系統:"+android.os.Build.VERSION.RELEASE);

    Log.e("123","手錶型號:"+android.os.Build.PRODUCT);

```

# 三、SmallestWidth適配

**smallestWidth適配,或者叫sw限定符適配。指的是Android會識別屏幕可用高度和寬度的最小尺寸的dp值(其實就是手機的寬度值),然後根據識別到的結果去資源文件中尋找對應限定符的文件夾下的資源文件。**

**sw計算公式:sw = 屏幕寬度 / (dpi/160)  註:160是默認的**

**例如:屏幕寬度為1080px、480dpi 的sw = 1080/(480/160)**

# 四、生成 dimens 文件

1、 首先在 res 目錄下新建各種尺寸的 values 文件 。文件名為:values-sw(你要適配屏幕的sw值)dp。

例如:

![code23](https://img-blog.csdnimg.cn/2020111311092374.PNG#pic_center)

注意:values文件下也生成 dimens文件

**生成dimens值工具類**

1、先生成標準的值。//value = (i + 1) * 1;

2、再用生成其他的值。 //value = (i + 1) * 需要生成的sw值/標準的sw值;

例如:value = (i + 1) * 160 / 320;

```java

public static void genDimen() {

        StringBuilder stringBuilder = new StringBuilder();

        try {

            double value;

            for (int i = 0; i < 500; i++) {

                //value = (i + 1) * 1; //這里控制對應轉換的值,如果是標准尺寸就一對一轉換

                //value = (i + 1) * 需要生成的sw值/標準的sw值; //這里控制對應轉換的值

value = (i + 1) * 1

                //value = (i + 1) * 160 / 320;

                value = Math.round(value * 100) / 100;

//dp可改成sp

                stringBuilder.append("<dimen name=\"size_" + (i + 1) + "\">" + value + "dp</dimen>\r\n");

            }

            if (stringBuilder.length() > 4000) {

                for (int i = 0; i < stringBuilder.length(); i += 4000) {

                    if (i + 4000 < stringBuilder.length())

                        Log.e("123", stringBuilder.substring(i, i + 4000));

                    else

                        Log.e("123", stringBuilder.substring(i, stringBuilder.length()));

                }

            } else {

                Log.e("123", stringBuilder.toString());

            }

        } catch (Exception e) {

            e.printStackTrace();

        } finally {

        }

    }

```

示例:(我這是以sw320為適配的標準的,你們可改自己的標准)

1、sw320的樣例

```java

<resources>

    <dimen name="dimen_1">1.0dp</dimen>

    <dimen name="dimen_2">2.0dp</dimen>

    <dimen name="dimen_3">3.0dp</dimen>

    <dimen name="dimen_4">4.0dp</dimen>

    <dimen name="dimen_5">5.0dp</dimen>

    <dimen name="dimen_6">6.0dp</dimen>

    <dimen name="dimen_7">7.0dp</dimen>

    <dimen name="dimen_8">8.0dp</dimen>

    <dimen name="dimen_9">9.0dp</dimen>

    <dimen name="dimen_10">10.0dp</dimen>

    <dimen name="size_1">1.0sp</dimen>

    <dimen name="size_2">2.0sp</dimen>

    <dimen name="size_3">3.0sp</dimen>

    <dimen name="size_4">4.0sp</dimen>

    <dimen name="size_5">5.0sp</dimen>

    <dimen name="size_6">6.0sp</dimen>

    <dimen name="size_7">7.0sp</dimen>

    <dimen name="size_8">8.0sp</dimen>

    <dimen name="size_9">9.0sp</dimen>

    <dimen name="size_10">10.0sp</dimen>

</resources>

```

2、sw160的樣例

```java

<resources>

    <dimen name="dimen_1">0.0dp</dimen>

    <dimen name="dimen_2">1.0dp</dimen>

    <dimen name="dimen_3">1.0dp</dimen>

    <dimen name="dimen_4">2.0dp</dimen>

    <dimen name="dimen_5">2.0dp</dimen>

    <dimen name="dimen_6">3.0dp</dimen>

    <dimen name="dimen_7">3.0dp</dimen>

    <dimen name="dimen_8">4.0dp</dimen>

    <dimen name="dimen_9">4.0dp</dimen>

    <dimen name="dimen_10">5.0dp</dimen>

<dimen name="size_1">0.0sp</dimen>

    <dimen name="size_2">1.0sp</dimen>

    <dimen name="size_3">1.0sp</dimen>

    <dimen name="size_4">2.0sp</dimen>

    <dimen name="size_5">2.0sp</dimen>

    <dimen name="size_6">3.0sp</dimen>

    <dimen name="size_7">3.0sp</dimen>

    <dimen name="size_8">4.0sp</dimen>

    <dimen name="size_9">4.0sp</dimen>

    <dimen name="size_10">5.0sp</dimen>

</resources>

```

3、xml界面控制項使用樣例

```java

<TextView

        android:layout_width="@dimen/dimen_30"

        android:layout_height="@dimen/dimen_30"

        android:textSize="@dimen/size_20"

        android:layout_margin="@dimen/dimen_10"

        android:padding="@dimen/dimen_10">

```

<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">

# 總結

<font color=#999999 >提示:這里對文章進行總結:

如果你的app需要適配dpi較低的屏幕,最好以最小dpi的sw為適配的標准。

B. Android資源標簽屬性及優先順序(一)

在寫前一篇文章 淺述Android Apk打包流程 的時候發現解壓後的apk里res的資源文件,有多於我本地項目中的res資源文件夾。

如果我的項目中依賴了Android的一些庫,比如design庫,design裡面有自己的res,那麼在打包我的項目的時候,這些res會合並一起打包。
我查看了下,我確實依賴了design等庫。

對比一下前三張圖,我本地項目沒有建anim、anim-v21、animator-v21(不再截圖了)等資源文件夾,但是design庫有,最終一並打包到我的項目中。

res目錄下的文件夾是有命名規則的,不能隨便起,為的是要適配不同的設備,而且是要做到最佳的資源匹配。

2.1、資源標簽屬性及優先順序
除了解析度外,同種資源之間可以有下面許多資源屬性標簽,它們在匹配過程中是有優先順序順序的。大家可以快速瀏覽一下即可。以下資源標簽修飾語按照優先順序從高到低的順序排列。

3、Locale(語言和區域)
例如en表示英語,fr表示法語,en-rUS表示英語和美國地區。不區分大小寫,r用於區分區域碼。

4、Layout Direction(布局方向)
ldrtl,布局方向從右到左(阿拉伯語等會這樣布局);ldltr,布局方向從左到右,是默認的隱式值。(這就解答了我前面第二個提的問題了)

5、Smallest Screen Width(最小寬度)
sw<N>dp,屏幕的基本尺寸。
sw320dp:適用於320 320 ldpi、320 480 mdpi、480 480 hdpi
sw600dp:適用於600 1024mdpi (7英寸的平板電腦)
sw720dp:適用於720*1280 mdpi (10英寸平板電腦)
當你的屏幕的絕對寬度大於600dp時,屏幕就會自動調用layout-sw600dp文件夾裡面的布局。這里的絕對寬度是指手機的實際寬度,即與手機是否橫屏沒關系,也就是手機較小的邊的長度。

6、Screen Width(屏幕寬度)
w<N>dp ,設備的可用寬度值隨著當前是橫屏還是豎屏會產生變化,即它表示的是當前真實的寬度值。即當手機豎屏時,為較小邊的長度;當手機橫屏時,為較長邊的長度。

7、Screen Height(屏幕高度)
h<N>dp,與lScreen Width的使用一樣,只是這里指的是相對的高度。指手機相對放置的高度;即當手機豎屏時,為較長邊的長度;當手機橫屏時,為較小邊的長度。

8、Size(屏幕大小)
samll:低密度,最小布局尺寸為320 426dp
normal:中等密度,標准屏幕最小布局尺寸約為320 470dp
large:中等密度,大屏幕最小布局尺寸為480 640dp
xlarge:大於中等密度,最小布局尺寸為720 960dp。基本用於平板電腦。
該配置並不僅適用於指定設備,如果沒有匹配的資源,會選擇與之最近的。 如果所有資源均大於當前屏幕的尺寸限定符,則系統不會使用這些資源,且應用運行時會崩潰。

9、Ratio(屏幕縱橫比)
long:寬屏
notlong:非寬屏

10、Orientation(屏幕方向)
port:豎向的
land:橫向的
square:正方形的(我也不知道這個是什麼樣子的)

11、UI Mode(UI模式)
無、car、desk、 television、appliance、 watch6種模式。(其實我沒看明白是幹嘛的,哈哈)

12、Night Mode(夜間模式)
night:夜間模式
notnight:非夜間模式
可以通過UiModeManager來開啟和關閉這一功能。

13、Density(屏幕像素密度)
ldpi:低密度,約120dpi;mdpi:中等密度,160dpi;hdpi:高密度,240dpi;xhdpi:超高密度,320dpi;xxhdpi:超超高密度,480dpi;xxxhdpi:超超超高密度,640dpi;nodpi:不希望以匹配設備密度的點陣圖資源;tvdpi:主要用於電視,約213dpi。anydpi:適用於所有密度,優先順序高於其他限定符。

14、Touch Screen(觸摸屏)
notouch:設備不帶觸摸屏
stylus:觸摸屏通過手寫筆操作
finger:觸摸屏通過手指操作

15、Keyboard(鍵盤可用性)
keysexposed:設備有可用鍵盤。如果當前的軟鍵盤被啟用,那麼即便設備沒有鍵盤或者鍵盤不可用,這個狀態仍可能有效。
keyshidden:設備有鍵盤,但當前被隱藏,而且沒有軟鍵盤啟用。
keyssoft:設備當前軟鍵盤啟動,即便它處於可見或不可見狀態。

16、Text Input(文本輸入法)
nokeys:設備不帶用用於文本輸入的按鍵
qwerty:設備具有標准硬鍵盤(無論是否對用戶可見)
12key:設備具有 12 鍵硬鍵盤(無論是否對用戶可見)

17、Navigation State(定位鍵可用性)
描述定位鍵是否可用,指的是游標定位,非GPS導航的定位。
navexposed:定位鍵對用戶可用
navhidden:定位鍵對用戶不可用

18、Navigation Method(主要的非觸摸屏定位方式)
nonav:設備除了觸摸屏外沒有其他定位方式
dpad:設備具有用於導航的方向鍵
trackball:設備具有用於導航的軌跡球
wheel:設備有方向滾輪用於定位,不常用

19、Dimension(尺寸)

20、Version(平台版本)
設備支持的 API 級別。例如v4 對應於 API 級別 4,帶有 Android 1.6 或更高版本系統的設備。

2.2、怎麼在AS中創建這些文件夾呢?

C. Android屏幕適配-應用篇

Android屏幕適配-基礎篇
Android屏幕適配-應用篇

從兩個大方面闡述一下Android的屏幕適配:

Android推薦使用dp作為尺寸單位來適配UI ,通過dp加上自適應布局和weight比例布局可以基本解決不同手機上適配的問題,這基本是最原始的Android適配方案。
缺點
(1)這種方案只能保證我們寫出來的界面適配絕大部分手機,部分手機仍然需要單獨適配,但dpi的不同,還是會存在差異。
(2)一般的設計稿都是以px為單位的,所以我們在寫layout文件的時候需要將px轉為dp,影響開發效率。

 為了高效的實現UI開發,出現了新的適配方案,我把它稱作寬高限定符適配。簡單說,就是窮舉市面上所有的Android手機的寬高像素值,設定一個基準的解析度,其他解析度都根據這個基準解析度來計算,在不同的尺寸文件夾內部,根據該尺寸編寫對應的dimens文件:

鴻洋大神的作品 ,使用也超級簡單,核心功能就是在繪制的時候在onMeasure裡面做變換,重新計算px。
缺點 :我們自定義的控制項可能會被影響或限制,可能有些特定的控制項(框架沒有做適配的控制項),需要單獨適配。

  小結:上述幾種適配方案都是實際開發中用過的方案,但隨著技術不斷的更新,出現了更好的適配方案。

   實現原理 :Android會識別屏幕可用高度和寬度的最小尺寸的dp值( 其實就是手機的寬度值 ),然後根據識別到的結果去資源文件中尋找對應限定符的文件夾下的資源文件。
   sw限定符適配 寬高限定符適配 類似,區別在於,前者有很好的容錯機制,如果沒有value-sw360dp文件夾,系統會向下尋找,比如離360dp最近的只有value-sw350dp,那麼Android就會選擇value-sw350dp文件夾下面的資源文件。這個特性就完美的解決了上文提到的寬高限定符的容錯問題。
   優點: 1.非常穩定,極低概率出現意外
    2.不會有任何性能的損耗
    3.適配范圍可自由控制,不會影響其他三方庫
   缺點 :就是多個dimens文件可能導致apk變大,幾百k。

   附件: 生成sw文件的工具

   實現原理 修改系統的density值 (核心)
  今日頭條適配是以設計圖的寬或高進行適配的,適配最終是改變系統density實現的。
   過程:

  AndroidAutoSize 是基於今日頭條適配方案,該開源庫已經很大程度上解決了今日頭條適配方案的兩個缺點,可以對activity,fragment進行取消適配。也是目前我的項目中所使用的適配方案。
使用也非常簡單只需兩步:
(1)引入:

(2)在 AndroidManifest 中填寫全局設計圖尺寸 (單位 dp),如果使用副單位,則可以直接填寫像素尺寸,不需要再將像素轉化為 dp,詳情請查看 demo-subunits

D. Android-屏幕適配全攻略(絕對詳細)(一)

關鍵字: 屏幕適配 px dp dpi sp large限定符 .9.png

前言: 這篇文章依然是我在 [慕課網 ][h]學習 凱子哥 的同名視頻 Android-屏幕適配全攻略 ,所記錄下來的筆記---凱子哥講得真的超詳細。
[h]: http://www.imooc.com/ "MOOC"

從上圖可以看出,主流的解析度是前六種:1280×720、1920×1080、800×480、854×480、960×540、1184×720,不過我們有解決方案。看完這篇文章,想必你就可以解決常見的屏幕適配問題。

接下來正式進入正題。

介紹幾個在Android屏幕適配上非常重要的名詞:

屏幕尺寸 是指屏幕對角線的長度。單位是英寸,1英寸=2.54厘米
屏幕解析度 是指在橫縱向上的像素點數,單位是px,1px=1像素點,一般是縱向像素橫向像素,如1280×720
屏幕像素密度 是指每英寸上的像素點數,單位是dpi,即「dot per inch」的縮寫,像素密度和屏幕尺寸和屏幕解析度有關

dip: Density Independent Pixels(密度無關像素)的縮寫。以 160dpi 為基準,1dp=1px
dp: dip
dpi: 屏幕像素密度的單位,「dot per inch」的縮寫

px: 像素,物理上的絕對單位

sp: Scale-Independent Pixels的縮寫,可以根據文字大小首選項自動進行縮放。Google推薦我們使用12sp以上的大小,通常可以使用12sp,14sp,18sp,22sp,最好不要使用奇數和小數。

用於區分不同的像素密度。

在Google官方開發文檔中,說明了 ** mdpi:hdpi:xhdpi:xxhdpi:xxxhdpi=2:3:4:6:8 ** 的尺寸比例進行縮放。例如,一個圖標的大小為48×48dp,表示在mdpi上,實際大小為48×48px,在hdpi像素密度上,實際尺寸為mdpi上的1.5倍,即72×72px,以此類推。

我們可以通過以下幾種方式來支持各種屏幕尺寸:

wrap_content: 根據控制項的內容設置控制項的尺寸
math_parent: 根據父控制項的尺寸大小設置控制項的尺寸
weight: 權重,在線性布局中可以使用weight屬性設置控制項所佔的比例

例如,我們要實現下圖所顯示的效果:當屏幕尺寸改變時,new reader控制項兩邊的控制項大小不變,new reader控制項會占完剩餘的空間。

具體布局文件如下:

小插曲: 關於 android:layout_weight 屬性

一般情況,我們都是設置要進行比例分配的方向的寬度為0dp,然後再用權重進行分配。如下:

效果為:

效果為:

button1寬度=L+(L-2L)×1/3=2/3L
button2寬度=L+(L-2L)×2/3=1/3L

當然,還有其他的方式,都可以運用此公式進行計算。
在實際開發中,我們一般使用0dp的方式,而不使用其他方式。

簡單的布局一般都使用 線性布局 ,而略微復雜點的布局,我們使用 相對布局 ,大多數時候,我們都是使用這兩種布局的嵌套。

我們使用 相對布局 的原因是, 相對布局 能在各種尺寸的屏幕上保持控制項間的相對位置。

res/layout/main.xml 單面板:

res/layout-large/main.xml 雙面板:

如果這個程序運行在屏幕尺寸大於7inch的設備上,系統就會載入 res/layout-large/main.xml 而不是 res/layout/main.xml ,在小於7inch的設備上就會載入 res/layout/main.xml 。

需要注意的是,這種通過 large 限定符分辨屏幕尺寸的方法,適用於android3.2之前。在android3.2之後,為了更精確地分辨屏幕尺寸大小,Google推出了最小寬度限定符。

res/layout-sw600dp/main.xml ,雙面板布局: Small Width 最小寬度

這種方式是不區分屏幕方向的。這種最小寬度限定符適用於android3.2之後,所以如果要適配android全部的版本,就要使用 large 限定符和 sw600dp 文件同時存在於項目 res 目錄下。

這就要求我們維護兩個相同功能的文件。為了避免繁瑣操作,我們就要使用布局別名。

由於後兩個文具文件一樣,我們可以用以下兩個文件代替上面三個布局文件:

res/layout/main.xml 單面板布局
res/layout/main_twopanes.xml 雙面板布局

然後在 res 下建立
res/values/layout.xml 、
res/values-large/layout.xml 、
res/values-sw600dp/layout.xml 三個文件。

默認布局
res/values/layout.xml :

Android3.2之前的平板布局
res/values-large/layout.xml :

Android3.2之後的平板布局
res/values-sw600dp/layout.xml :

這樣就有了 main 為別名的布局。
在activity中 setContentView(R.layout.main);

這樣,程序在運行時,就會檢測手機的屏幕大小,如果是平板設備就會載入 res/layout/main_twopanes.xml ,如果是手機設備,就會載入 res/layout/main.xml 。我們就解決了只使用一個布局文件來適配android3.2前後的所有平板設備。

如果我們要求給橫屏、豎屏顯示的布局不一樣。就可以使用 屏幕方向限定符 來實現。
例如,要在平板上實現橫豎屏顯示不用的布局,可以用以下方式實現。
res/values-sw600dp-land/layouts.xml :橫屏

res/values-sw600dp-port/layouts.xml :豎屏

自動拉伸點陣圖,即android下特有的 .9.png 圖片格式。

當我們需要使圖片在拉伸後還能保持一定的顯示效果,比如,不能使圖片中的重要像素拉伸,不能使內容區域受到拉伸的影響,我們就可以使用 .9.png 圖來實現。

要使用 .9.png ,必須先得創建 .9.png 圖片,androidSDK給我們提供了的工具就包含 .9.png 文件的創建和修改工具。雙擊 SDK安裝目錄 oolsdraw9patch.bat ,就會打開下圖所示的窗口。

下面是一個例子:

Button屬性設置:

如果我們選擇的內容區域偏差太大,可能就不會顯示出text值 BUTTON 。

好了,這篇文章寫的有點多了,剩下的內容放在 下篇文章 記錄吧。
內容提要:
解決方案-支持各種屏幕密度
解決方案-實施自適應用戶界面流程

未完待續

E. Android 屏幕適配

1: dp: android 尺寸的基本單位。 在不同的解析度的手機裡面,1dp對應著不同數量的px, 這樣就實現了dp定義一個控制項大小的時候,在不同解析度手機里表現出相應大小的像素值。
2: 屏幕解析度: 1080下160, 表示寬度有1080個像素點而高度有2160個像素點。常見的解析度有320x480, 480x800, 720x1280, 1080x1920等。
3: 屏幕尺寸: 以寸為單位, Android設備對角線的長度
4: 像素密度: 每英寸的像素點
5: 屏幕尺寸, 解析度,像素密度 三者之間的關系:
密度(dpi)= √(寬2 + 高2)/屏幕尺寸

6: px:像素,是屏幕上顯示數據的最基本的點
7: dpi:屏幕像素密度,每英寸上的像素點數
8: sp:與dp類似,通常用於指定字體的大小,當用戶修改手機顯示的字體時,字體大小會隨之改變。

1: dp適配方案: Android自帶的原始的適配方案, 在不同的解析度手機裡面表現出相應大小的像素點。
缺點: Android的碎片化嚴重, 如果生產廠家沒有根據屏幕尺寸、解析度和像素密度的關系來規則定義, 或者出一些亂七八糟的屏幕大小,這樣的適配方案就不在適合了。

2: 寬高限定符:枚舉所有的屏幕寬高像素值,根據等比縮放去適配。如果沒有找到對應的屏幕, 則取默認的。 目前這種方案已經被棄用。

缺點:
1: 佔用資源大,會增加APK的體積。
2: 容錯機制大需要精準命中資源文件才能適配,比如1920x1080的手機就一定要找到1920x1080的限定符,否則就只能用統一的默認的dimens文件了。而使用默認的尺寸的話,UI就很可能變形。

3:AndroidAutoLayout適配方案(停止維護)

4: SW限定符適配方案:(smallestWidth最小寬度適配)
Android 會去識別屏幕可用高度或者寬度的最小尺寸的dp值。然後根據識別到的結果去對應的資源文件裡面去找尋相應的結果。
如何生成:ScreenMatch插件

此方案跟寬高限定的適配方案相比,有很好的容錯機制, 如果沒有找到對應的適配寬度, 那麼會在vlues文件裡面去找跟他最接近的寬度。

5:今日頭條適配方案:
1>: px 轉 dp 的公式 dp = px / density.不管我們設定的單位是什麼, 最終我們都會將這些單位長度轉化為px的。density就是他們的轉化比, 所以,動態改變這個轉化比也是可以達到我們適配屏幕的目的的。
2>: 通過修改density值,強行把所有不同尺寸解析度的手機的寬度dp值改成一個統一的值(在清單文件中定義),這樣就解決了所有的適配問題。
3>: Density = 當前設備屏幕總寬度(單位為像素)/ 設計圖總寬度(單位為 dp) ;
4>:引入了AndroidAutoSize屏幕適配框架:
https://github.com/JessYanCoding/AndroidAutoSize

最後, 最重要的................
點贊 點贊 點贊, 不重要的事情也就說3遍......

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:637
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:366
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:82
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:307
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:789
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:339
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:210
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:810
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:364
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:590