android 分段显示百分比,按百分比设置排名-Android DisplayMetrics
我喜歡對應用程序中的所有位置使用百分比.我總是使用相同的系統.我是android編程的新手.
這是課程:
public class SCREEN {
DisplayMetrics dm = new DisplayMetrics();
Point size_ = new Point();
int width;
int height;
// DisplayMetrics metrics = Resources.getSystem().getDisplayMetrics();
SCREEN (Context CONTEXT_) {
dm = CONTEXT_.getResources().getDisplayMetrics();
int densityDpi = dm.densityDpi;
height = dm.heightPixels;
width = dm.widthPixels;
}
// get full width
public int WIDTH() {
return width;
}
public int HEIGHT(){
return height;
}
public int W( int PER_ ){
return width/100*PER_;
}
public int H( int PER_ ){
return height/100*PER_;
}
}
用法示例:
EKRAN = new SCREEN();
MENU1.setX( (float) EKRAN.W( 50 ) );
這意味著MENU1按鈕的x位置必須在屏幕中央,但不是.它的較小值較小,例如42%.
也許我的錯誤是int-float之間的關系
這是屏幕截圖(FrameLayout):
我為該按鈕放置了此代碼-這意味著x = 0,y = 0,寬度=屏幕的一半,但不是:
final Button BTN1 = new Button(this);
BTN1.setText( String.valueOf( EKRAN.H( 0 ) ) );
BTN1.setLayoutParams(new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT));
VEIW_MAIN.addView(BTN1);
BTN1.setY( (float) EKRAN.H( 0 ) );
BTN1.setX( (float) EKRAN.W( 0 ) );
BTN1.setWidth( (int) EKRAN.W( 50 ) );
Important : This work EKRAN.WIDTH()/5 = 216 , but EKRAN.W(20) = 200
My current screen i is 1080 . Only this EKRAN.WIDTH()/2 give me 540 .
Even EKRAN.WIDTH()/100*50 give me 500 ... Where is the 40pix ?!
總結
以上是生活随笔為你收集整理的android 分段显示百分比,按百分比设置排名-Android DisplayMetrics的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言查看队头元素,C语言实现循环队列的
- 下一篇: android studio m1,An