Android - 以编程方式将宽度百分比设置为 relativeLayout 内的 editText
Android - set width percentage to an editText inside a relativeLayout programatically
我在 relativeLayout 中有一个 editText,我希望 editText 的宽度达到 relativeLayout 总宽度的 70%,我该如何实现? 不使用 LinearLayout
PercentRelativeLayout
推荐用于您的目的。
但如果您仍想使用 RelativeLayout
并更改代码中的百分比,您可以计算宽度并将其设置为您的 EditText
,如下所示:
editText.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
editText.getViewTreeObserver().removeOnGlobalLayoutListener(this);
ViewGroup.LayoutParams params = editText.getLayoutParams();
params.width = (int) (relativeLayout.getWidth() * 0.7 + 0.5);
editText.setLayoutParams(params);
}
});
希望对您有所帮助。
我在 relativeLayout 中有一个 editText,我希望 editText 的宽度达到 relativeLayout 总宽度的 70%,我该如何实现? 不使用 LinearLayout
PercentRelativeLayout
推荐用于您的目的。
但如果您仍想使用 RelativeLayout
并更改代码中的百分比,您可以计算宽度并将其设置为您的 EditText
,如下所示:
editText.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
editText.getViewTreeObserver().removeOnGlobalLayoutListener(this);
ViewGroup.LayoutParams params = editText.getLayoutParams();
params.width = (int) (relativeLayout.getWidth() * 0.7 + 0.5);
editText.setLayoutParams(params);
}
});
希望对您有所帮助。