A. android里怎麼動態設置按照一張圖片高度的百分比列來顯示
ImageView的LayoutParam都設置為wrap_content並設置 android:scaleType="matrix"代碼里創建MatrixMatrix matrix = new Matrix();Matrix matrix = new Matrix();matrix.postScale(0.5f, 1f);//寬縮小到50%,高度不變img.setImageMatrix(matrix);
B. App 安卓720*1280的狀態欄、導航欄、主菜單高度分別是50、96、96,那麼1080x1920的呢
Android的多解析度,一向是設計師和開發者非常頭疼的事兒。盡管如此,對於多分辨造成的復雜問題,也是大家要優先解決的。Android支持多種不同的dpi模式:ldpi 、mdpi 、hdpi 、xhdpi 、xxhdpi 、xxxhdpi 。
C. android app 界面設計按什麼尺寸
android app 界面設計是按720*1280的,切圖上可以點9切圖做到所有手機的適配。
狀態欄、導航欄和主菜單欄,以720*1280的尺寸來設計,那麼狀態欄的高度應為50px,導航欄的高度96px,主菜單欄的高度96px,因為是開源的系統,這里的數值也只能作為參考。
Android為了區別於IOS,從4.0開始提出了一套HOLO的UI風格設計風格,鼓勵將底部的主菜單欄放到導航欄下面,從而避免點擊下方材料誤點虛擬按鍵,很多APP的新版中也採用了這一風格。
(3)android高度比例擴展閱讀:
注意事項:
1、通常情況要定位一個Icon只需給出 上/下邊距,左/右邊距,標注圖標距離只需標到可點擊范圍外
通用型顏色、字體單獨標明一份,通用型模塊只需單獨標明一份,如導航欄。
2、手機可視區域通常為寬度固定,長度超出邊界可滑動,所以標注物體寬度時可按比例說明,如果要標注內容上下居中,左右居中,或等比可不標注。
3、當交付的是一張完整圖片時,不需做機型適配,只需給高清圖(1920*1080)即可,注意進行壓縮。
4、若圖標在不同頁面重復出現,且尺寸相差不大,直接給出最大一份切圖,並在圓形圖標明尺寸,程序會根據需求縮放。
5、當背景是純色時只需給出色值,Android使用16進制色值。
參考資料來源:網路-Android
參考資料來源:網路-界面設計
參考資料來源:網路-狀態欄
參考資料來源:網路-導航欄
參考資料來源:網路-開源系統
參考資料來源:網路-切圖
參考資料來源:網路-UI設計
D. android:layout_width 單位有沒有百分比的設置方法
沒有設置方法
線性布局就用權重,設置layout_width="0dp",加個android:layout_weight="1.0"//權重
相對布局設置layout_width="0dp",然後在代碼中通過屏幕寬度設置每個控制項的大小。
可以通過android:layout_weight的方式實現百分比
(4)android高度比例擴展閱讀:
view中的layout_width形容的是本view和父容器的關系;而view中的width是用來描述自己本身的。
android:width 的值,一般是 "100dp" 這樣的數值;
android:layout_width 的值,一般是"fill_parent","wrap_content","match_parent".當然,它也可以像前者一樣,設置數值的。
android:layout_width 其實是可以實現 android:width 的效果的,我覺得這應該是為什麼在 android 實例中看不到有人用 android:width 的原因吧。
帶"layout"的屬性是指整個控制項而言的,是與父控制項之間的關系,如 layout_gravity 在父控制項中的對齊方式, layout_margin 是級別相同的控制項之間的間隙等等;
不帶"layout" 的屬性是指控制項中文本的格式,如gravity是指文本的對齊方式等等,而其中文本的格式又受制約於它的控制項在父控制項中的屬性。
E. android狀態欄高度是多少
Android中兩種獲取狀態欄高度的方法
方法一:
(Contextcontext){
doublestatusBarHeight=Math.ceil(25*context.getResources().getDisplayMetrics().density);
returnstatusBarHeight;
}
這種方法很簡單,只有一行代碼:
狀態欄高度=取大於其的最小整數(25*上下文_獲取應用包的資源實例_獲取當前屏幕尺寸_屏幕密度比例)
其中density並不是真實的屏幕密度,而是一個相對密度,基準密度為160dpi,比如我測試的手機為HTC one m8,查的屏幕密度為441dpi,相對160為2.75,density就取為3。各解析度的density取值為:
ldpi(dpi=120,density=0.75)
mdpi(dpi=160,density=1)
hdpi(dpi=240,density=1.5)
xhdpi(dpi=320,density=2)
xxhdpi(dpi=480,density=3)
所以得到的狀態欄高度為25*3=75
由這種方法得到的狀態欄高度具有較大局限性,比如因為某種需要去掉狀態欄或本身沒有狀態欄,此時狀態欄高度應為0,但是該方法依然能夠得到一個非零的狀態欄高度。
方法二:
privateintgetStatusBarHeight(Contextcontext){
intresult=0;
intresourceId=context.getResources().getIdentifier("status_bar_height","dimen","android");
if(resourceId>0){
result=context.getResources().getDimensionPixelSize(resourceId);
}
returnresult;
}
這里我們用到了getIdentifier()的方法來獲取資源的ID,其中第一個參數是要獲取資源對象的名稱,比如我們要獲取狀態欄的相關內容,這里填入"status_bar_height";第二個參數是我們要獲取什麼屬性,我們要獲取高度內容,所以填入"dimen";第三個是包名,狀態欄是系統內容,故填入「android」。
另外一個用到的辦法是getDimensionPixelSize(),由函數名就能知道是根據資源ID獲得資源像素尺寸,這里就直接獲得狀態欄的高度。
這種方法在狀態欄不存在的時候就會獲得其高度為0.
F. 如何獲取android模擬器的高度和寬度
// 獲取屏幕寬高(方法1)
int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); // 屏幕寬(像素,如:480px)
int screenHeight = getWindowManager().getDefaultDisplay().getHeight(); // 屏幕高(像素,如:800p)
Log.e(TAG + " getDefaultDisplay", "screenWidth=" + screenWidth + "; screenHeight=" + screenHeight);
// 獲取屏幕密度(方法2)
DisplayMetrics dm = new DisplayMetrics();
dm = getResources().getDisplayMetrics();
float density = dm.density; // 屏幕密度(像素比例:0.75/1.0/1.5/2.0)
int densityDPI = dm.densityDpi; // 屏幕密度(每寸像素:120/160/240/320)
float xdpi = dm.xdpi;
float ydpi = dm.ydpi;
Log.e(TAG + " DisplayMetrics", "xdpi=" + xdpi + "; ydpi=" + ydpi);
Log.e(TAG + " DisplayMetrics", "density=" + density + "; densityDPI=" + densityDPI);
screenWidth = dm.widthPixels; // 屏幕寬(像素,如:480px)
screenHeight = dm.heightPixels; // 屏幕高(像素,如:800px)
Log.e(TAG + " DisplayMetrics(111)", "screenWidth=" + screenWidth + "; screenHeight=" + screenHeight);
// 獲取屏幕密度(方法3)
dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
density = dm.density; // 屏幕密度(像素比例:0.75/1.0/1.5/2.0)
densityDPI = dm.densityDpi; // 屏幕密度(每寸像素:120/160/240/320)
xdpi = dm.xdpi;
ydpi = dm.ydpi;
Log.e(TAG + " DisplayMetrics", "xdpi=" + xdpi + "; ydpi=" + ydpi);
Log.e(TAG + " DisplayMetrics", "density=" + density + "; densityDPI=" + densityDPI);
int screenWidthDip = dm.widthPixels; // 屏幕寬(dip,如:320dip)
int screenHeightDip = dm.heightPixels; // 屏幕寬(dip,如:533dip)
Log.e(TAG + " DisplayMetrics(222)", "screenWidthDip=" + screenWidthDip + "; screenHeightDip=" + screenHeightDip);
screenWidth = (int)(dm.widthPixels * density + 0.5f); // 屏幕寬(px,如:480px)
screenHeight = (int)(dm.heightPixels * density + 0.5f); // 屏幕高(px,如:800px)
Log.e(TAG + " DisplayMetrics(222)", "screenWidth=" + screenWidth + "; screenHeight=" + screenHeight);
G. Android編程,有兩個按鈕控制項,我想讓一個占屏幕高度的90%,一個佔10%,怎麼實現
/*********** 以下是用來控制圖片位置的 *******/
//獲取屏幕尺寸
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int widthPixels = dm.widthPixels;
//獲取控制項尺寸
LayoutParams params = (LayoutParams) imageView_base.getLayoutParams();
params.height = (int) (widthPixels * 0.57);
params.width = widthPixels;
//重設
imageView_base.setLayoutParams(params);
你參考參考我的代碼,希望能幫到你
H. android 狀態欄高度是多少
是的,800高度里包括了狀態欄設計范圍應該是780高度。
I. 安卓開發控制項高度為什麼不能設置小於1dp
設置幾「dp」是由你的布局來決定的,理論上任意的「dp」都是可以的,但是還是要看實際的使用價值。看這個難點:設置成「0dp」之後擔心不顯示了,可要用到這種android:layout_width=「0dp」或者android:layout_height=「0dp」的設置又應該是在什麼情況下等等。那麼這是為什麼0「dp」也行能設置,這里解釋幾個概念。
android:weight它是用來分配屬於空間的一個屬性,你可以設置他的權重。
一般是設置android:weight屬性的時候才使用,,如果你的布局是按水平布局,設置控制項比例,就設置ndroid:layout_width=「0dp」然後就可以自己按照你所設置的比例進行顯示,如果是豎直布局的話,設置控制項比例,android:layout_height=「0dp「
或者android:layout_height=「01dp「
都是可以的。
J. android imageview是如何控制它的寬高比例,不讓
固定imageview 的大小後用一個屬性來設置 ScaleType 這個就是設置圖片的載入模式 ImageView的Scaletype決定了圖片在View上顯示時的樣子,如進行何種比例的縮放,及顯示圖片的整體還是部分,等等。 設置的方式包括: 1 在layout xml中定義androiandroid imageview是如何控制它的寬高比例,不讓