我找到了这个 。这很复杂。
教程
android 支持中没有更多的绝对布局。我只想 setX 方法。FrameLayout 是最好的选择。另请参阅:
stackoverflow 答案
FrameLayout 允许您设置类似于 absolute 的位置和尺寸。如果你想更深入,你需要使用下一个方法:
// 对于 x 和 y,您可以使用 onCreate
// 设置宽度和高度的最佳方法 - 使用 post // post 方法意味着 UI 已准备好
VEIW_MAIN = (ViewGroup) findViewById(R.id.activity_main);
VEIW_MAIN.post(new Runnable() {
@Override
public void run() {
LayoutParams paraBigText = BigText.getLayoutParams();
Double d24 = 200.0;
paraBigText.width = d24.intValue();
BigText.setLayoutParams(paraBigText);
BigText.setGravity( Gravity.CENTER_HORIZONTAL);
}
});
...
ViewTreeObserver vto = SOME_ELEMENT.getViewTreeObserver();
vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener()
{
public boolean onPreDraw() {
// changes here
return true;
}
});
...
如果你需要一些修复使用这个:
if (EKRAN.WIDTH() <= 480)
{
FIX_FOR_480_WIDTH();
}
else if (EKRAN.WIDTH() == 540) {
FIX_FOR_540_WIDTH();
}
else if (EKRAN.WIDTH() == 720) {
FIX_FOR_720_WIDTH();
}
else if (EKRAN.WIDTH() == 1080) {
FIX_FOR_1080_WIDTH();
}
...
void FIX_FOR_540_WIDTH()
{
System.out.println("FIX FUNCTION FOR 540 low width !!!!!!!");
SOMEELEMENT.setY( 0.865f * EKRAN.HEIGHT() );
}
...
从以下位置复制 SCREEN 类:
按百分比设置位置 - Android DisplayMetrics
换句话说,如果您真的想要完全自定义订单,那么您可以使用 canvas2d 并创建自己的 uniq UI ...