導航:首頁 > 操作系統 > android解析度drawable

android解析度drawable

發布時間:2022-08-26 23:55:51

『壹』 安卓app設計屏幕解析度適配問題怎麼解決

要解決這個問題,就要先知道屏幕適配的原理

不同解析度對應的文件夾

首先我們知道android工程目錄res下有四個文件夾,drawable-hdpi、drawable-mdpi、drawable-ldpi、drawable-xhdpi,主要是為了支持多解析度的圖片。如果你製作的游戲切圖是480x800的切圖,就應該放到drawable-hdpi目錄下,如果是320x480的切圖,就應該放到mdpi目錄下。如果是720x1280的,通常會放到xhdpi目錄下。

圖片預設時的處理方式

安卓系統在載入圖片的時候有一套嚴格的規則,它會事先判斷手機屏幕的解析度,然後根據解析度去載入對應文件夾里的圖片。如果找不到,則會從drawable或者其他drawable-*文件夾中尋找。找到圖片以後,系統會對圖片尺寸與手機屏幕進行比對,尺寸一致則會正常顯示,而遇到尺寸不一致的那麼系統會根據一定規律對圖片尺寸進行縮放,然後顯示在屏幕上。此時,由於圖片尺寸經過縮放,所以屏幕上的顯示效果會受到影響,因此通常在游戲測試階段,測試者應該准備好不同尺寸搭配不同解析度的設備進行多次校驗,如果是在上線前希望能進行大規模的手機游戲兼容性測試的話則可以嘗試使用諸如:TestBird這樣的第三方手游自動化測試平台。

不同比例的屏幕常見適配方式

通常成熟的游戲廠商針對不同比例以及不同解析度的屏幕,會有一套自有的解決方案。而對於中小規模的開發團隊或者個人開發者而言,往往沒有時間專門對不同尺寸的屏幕進行適配,比如常見的安卓設備屏幕比例為16:9,而像魅族的屏幕比例則為15:9,IPad則為4:3,這樣的情況下屏幕適配就變得異常麻煩。常見的圖片縮放在這樣的情況下會造成屏幕邊緣內容的丟失,通常最好的辦法是盡可能把圖片縮放到最大,保留部分沒有顯示的黑邊區域,而這樣的的好處是可以不丟失任何內容,但缺點是黑邊區域實際會影響到玩家的使用體驗。最早在IPad尚未普及時,為了保證游戲盡可能多的兼容IPad,因此大量的採用了這樣的適配方案。

另外值得一提的是,如果製作手游切圖的話母版可以盡可能用720P,因為目前主流機型的屏幕解析度是720P,720P在對圖片進行縮放的過程中放大到1080P時不會感到特別模糊,縮小到480P時也不會看不清內容。這是目前很常用的一個屏幕適配解決方案,但由於15年1080p將會開始普及,所以筆者認為很快情況就會有所變化了。

『貳』 簡述Android 中樣式文件使用步驟

在Eclipse中android程序項目目錄結構下的res文件夾新建drawable文件夾,並在drawable文件夾下新建各類的xml樣式文件,供layout文件夾下的xml布局文件引用,以滿足對程序界面的需求開發。如圖1和圖2是drawable下xml樣式文件的樣式類型。

圖3、iv1到iv4
其次是信號增強即圖片順序播放的效果,在drawable下新建animation_list_sequence.xml樣式文件。

<?xml version="1.0" encoding="utf-8"?><!--
根標簽為animation-list;
其中oneshot代表著是否只展示一遍,設置為false會不停的循環播放動畫;
其中visible規定drawable的初始可見性,默認為flase;
其中variablePadding若為true則允許drawable的距離在當前選擇狀態下有所改變(If true, allows the drawable』s padding to change based on the current state that is selected.),默認為false;
根標簽下,通過item標簽對動畫中的每一個圖片進行聲明;
android:ration 表示展示所用的該圖片的時間長度,單位為毫秒;
--><animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true"
android:visible="false"
android:variablePadding="false"
>
<item android:drawable="@drawable/iv1" android:ration="200"></item>
<item android:drawable="@drawable/iv2" android:ration="200"></item>
<item android:drawable="@drawable/iv3" android:ration="200"></item>
<item android:drawable="@drawable/iv4" android:ration="200"></item></animation-list>

再者是信號增強即圖片順序播放的效果,在drawable下新建animation_list_reverse.xml樣式文件。

<?xml version="1.0" encoding="utf-8"?><!--
根標簽為animation-list;
其中oneshot代表著是否只展示一遍,設置為false會不停的循環播放動畫;
其中visible規定drawable的初始可見性,默認為flase;
其中variablePadding若為true則允許drawable的距離在當前選擇狀態下有所改變(If true, allows the drawable』s padding to change based on the current state that is selected.),默認為false;
根標簽下,通過item標簽對動畫中的每一個圖片進行聲明;
android:ration 表示展示所用的該圖片的時間長度,單位為毫秒;
--><animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true"
android:visible="false"
android:variablePadding="false"
>
<item android:drawable="@drawable/iv4" android:ration="200"></item>
<item android:drawable="@drawable/iv3" android:ration="200"></item>
<item android:drawable="@drawable/iv2" android:ration="200"></item>
<item android:drawable="@drawable/iv1" android:ration="200"></item></animation-list>

然後在layout文件夾下新建xml布局文件activity_animation_list.xml,引用上面寫好的drawable文件夾下的xml樣式文件。

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<ImageView android:id="@+id/iv_animation_list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/animation_list_sequence" />

<Button android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="sequence"
android:text="順序顯示" />

<Button android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="stop"
android:text="停止動畫" />

<Button android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="reverse"
android:text="倒序顯示" /></LinearLayout>2122232425262728293031

然後在src包下新建Activity的java文件AnimationListActivity.java,用於演示操作。

package com.zcz.drawablexmltest;import android.app.Activity;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import android.view.View;import android.view.Window;import android.widget.ImageView;public class AnimationListActivity extends Activity{
private ImageView mIv;
private AnimationDrawable mAd;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_animation_list);
mIv = (ImageView) findViewById(R.id.iv_animation_list);
}

public void sequence(View view){
mIv.setImageResource(R.drawable.animation_list_sequence);
mAd = (AnimationDrawable) mIv.getDrawable();
mAd.start();
} public void stop(View view){
mAd = (AnimationDrawable) mIv.getDrawable();
mAd.stop();
} public void reverse(View view){
mIv.setImageResource(R.drawable.animation_list_reverse);
mAd = (AnimationDrawable) mIv.getDrawable();
mAd.start();
}
}

『叄』 Android stdio怎麼沒有不同解析度的drawable文件

有的,只是android studio已經隱藏掉了,因為android studio自動將同名的文件集合在一起,可以切換一個視圖來顯示,點擊最上面那個Android切換成Project即可顯示出來了。

『肆』 android如何適配不同解析度

Android應用如何適配不同解析度的手機,主要分三塊考慮:
1.界面配置,根據不同的解析度,創建手機界面文件
例子:
在res下創建 layout-800x480,layout-480x320,並在各自不同解析度的文件夾下創建界面文件
2.圖片配置,不同的解析度,界面的長寬比不一致,需要不同規格的圖片,在drawable-hdpi,drawable-ldpi,drawable-mdpi 中放不同解析度的圖片.
注:為了減小整個應用程序安裝包大小,選用最高解析度適配,特殊界面圖片特殊處理.
3.動態實現的界面,樣式的設定,不同解析度,界面的字體大小,字體等需要不同的樣式,且需要動態生成的情況下,需要把不同解析度的配置信息保存到應用中。
例子:
在RES里創建 values-480x320 values-800x400 value-1280x720,並在創建的文件夾中分別創建dimens.xml,<dimen name="Text_size">30px</dimen>,在程序中直接調R.dimen.Text_sizeint sizeOfText = (int) this.getResources().getDimension(R.dimen.Text_size);
注:實際應用發現,字體大小適配時,比如只適配了如下屏幕字體
values-480x320 values-800x480 value-1280x720當出現手機屏幕解析度為 854x480時會自動找最大字體適配 (value-1280x720).

總結:如果字體800x480以上沒有適配,手機自動按最大解析度適配.

『伍』 Android中如何讓adt在配置不同解析度的時候識別drawable中不同解析度的圖片

設備自動根據屏幕解析度來選擇使用的圖片
你只需要將各解析度的圖片都放進去就行

『陸』 android studio中的drawable-v24怎麼創建

我們一般將APP的icon放在minmap文件夾下,其他圖片資源放在drawable文件夾下。下面我們看下AndroidStudio下如何創建drawable、drawable-hdpi、drawable-mdpi、drawable-xhdpi、drawable-xxhdpi。
1、切換到Project視圖下,找到對應moudle的res文件夾,右擊「res」--》 「new」--》「Android resource directory」,彈出「New Resource Directory」對話框。
2、按照上圖的一二三步驟,點擊第三步後,會出現一下內容,選擇要添加drawable的解析度,點擊「ok」按鈕即可。

『柒』 Android中dpi,drawable和VGA的區別以及聯系

1.drawable-(hdpi,mdpi,ldpi)的區別:

dpi是「dot per inch」的縮寫,每英寸像素數。
四種密度分類: ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high)
一般情況下的普通屏幕:ldpi是120,mdpi是160,hdpi是240,xhdpi是320。

2.WVGA,HVGA,QVGA的區別:

VGA是"Video Graphics Array",顯示標准為640*480。
WVGA(Wide VGA)解析度為480*800
HVGA(Half VGA)即VGA的一半解析度為320*480
QVGA(Quarter VGA)即VGA非四分之一解析度為240*320

3.drawable-(hdpi,mdpi,ldpi)和WVGA,HVGA,QVGA的聯系:

hdpi裡面主要放高解析度的圖片,如WVGA (480x800),FWVGA (480x854)
mdpi裡面主要放中等解析度的圖片,如HVGA (320x480)
ldpi裡面主要放低解析度的圖片,如QVGA (240x320)
系統會根據機器的解析度來分別到這幾個文件夾裡面去找對應的圖片

『捌』 懸賞100分!如何修改人人android apk上傳圖片解析度及質量

樓主,用WinRAR打開人人apk文件,我已某一個apk文件為例:

會看到所有以drawable開頭的目錄,可能人人apk中drawable開頭目錄有不一樣,少一個或多一個.

在這些目錄下放的是應用用的圖片資源,這些目錄或是定義的dpi不同,或是解析度不同,解釋:

drawable--800*400---屏幕為800*400解析度下用的圖片

drawable-xhdpi---xhdpi是Android 2.2才開始加的分類,比hdpi更高精度解析度.

drawable-hdpi----高解析度屏幕用的圖片,如WVGA (480x800),FWVGA (480x854)

drawable-ldpi ----低解析度的圖片,如QVGA (240x320)

drawable-mdpi --- 中等解析度的圖片,如HVGA (320x480)

(dpi:每英寸點數。ldpi是120,mdpi是160,hdpi是240,xhdpi的dip是320。)


系統會根據機器的解析度來分別到這幾個文件夾裡面去找對應的圖片,找不到,就會在drawable中找:

drawable---通用的圖片目錄,手機解析度很多多,這個目錄下的圖片可被用於所有的解析度屏幕.

在這些目錄中找到你要替換的圖片,並根據它的尺寸,製作更高解析度和質量的同名圖片,拖放到響應目錄,替換掉原來的圖片。

注意:1.文件名必須一樣.

2.不要解壓apk文件來替換,直接以拖放方式替換圖片

『玖』 如何讓Android自適應不同解析度或不同屏幕大小的layout布局

一:不同的layout
只需要在res目錄下創建不同的layout文件夾,比如layout-640x360,layout-800x480,所有的 layout文件在編譯之後都會寫入R.java里,而系統會根據屏幕的大小自己選擇合適的layout進 行使用。
二:hdpi、mdpi、ldpi
在之前的版本中,只有一個drawable,而2.1版本中有drawable-mdpi、drawable-ldpi、 drawable-hdpi三個,這三個主要是為了支持多解析度。
drawable- hdpi、drawable- mdpi、drawable-ldpi的區別:
(1)drawable-hdpi裡面存放高解析度的圖片,如WVGA (480x800),FWVGA (480x854)
(2)drawable-mdpi裡面存放中等解析度的圖片,如HVGA (320x480)
(3)drawable-ldpi裡面存放低解析度的圖片,如QVGA (240x320)
系統會根據機器的解析度來分別到這幾個文件夾裡面去找對應的圖片。

與android解析度drawable相關的資料

熱點內容
和平精英蘋果轉安卓怎麼轉不了 瀏覽:52
偉福單片機實驗箱 瀏覽:154
廣東加密貨幣 瀏覽:216
利用python批量查詢系統 瀏覽:497
什麼app看左右臉 瀏覽:302
台灣小公主s解壓密碼 瀏覽:568
易語言鎖機軟體源碼 瀏覽:156
迅雷下載完成無法解壓 瀏覽:592
硬碟分區命令圖解 瀏覽:447
當前雲伺服器如何關閉 瀏覽:78
mac下python在哪 瀏覽:641
廣東惠州DNS伺服器地址 瀏覽:357
編譯影片時軟體渲染錯誤 瀏覽:626
流星蝴蝶劍解壓失敗 瀏覽:294
如何確認方舟編譯器 瀏覽:664
奶粉源箱源碼什麼意思 瀏覽:178
台州程序員兼職一般去哪些網站 瀏覽:408
舊版本怎麼下載到新的安卓 瀏覽:972
flash個人網站源碼下載 瀏覽:725
javasocketbyte 瀏覽:270