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 ) );

812c0692092ccc7a6df4377cbfda4eaa.png

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 ?!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值