[英]How can I programmatically move to center EditText?
如何使用.AddRule (RelativeLayout.CENTER_VERTICAL);
以编程方式将密码移到中心 .AddRule (RelativeLayout.CENTER_VERTICAL);
?
LinearLayout PO = (LinearLayout)RV .findViewById(R.id.LL1);
EditText ET = new EditText(getActivity());
ET.setId(1);
ET.setHint("Your name");
ET.setInputType(0x00000061);
ET.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT));
ET.setPadding(40,20,40,20);
ET.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
//ET.addRule(RelativeLayout.CENTER_VERTICAL);
PO.addView(ET);
.addRule
点亮。
您可以使用gravity属性,但是如果您想在视图中添加更多组件,则这是没有用的。 您也可以使用RelativeLayout而不是LinearLayout(您需要更改布局),这可以帮助您完成类似的工作。
XML:
<LinearLayout
android:id="@+id/xxx"
android:gravity="center_vertical">
或使用代码:
RelativeLayout layout = (RelativeLayout) findViewById(R.id.layout);
layout.setGravity(Gravity.CENTER_VERTICAL);
要么
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams
((int) LayoutParams.WRAP_CONTENT, (int) LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.CENTER_VERTICAL);
xyzView.setLayoutParams(params);
在以编程方式执行此操作之前,最好先尝试在layout.xml中构建UI,然后再以编程方式进行操作。
您的layout.xml中应该有相对的布局。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
...
您的edittext应该在相对布局内部,以便将RelativeLayout.LayoutParams应用于它。 您的代码将如下所示:
RelativeLayout PO = (RelativeLayout)RV .findViewById(R.id.RL1);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams
((int) LayoutParams.WRAP_CONTENT, (int) LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.CENTER_VERTICAL);
ET.setLayoutParams(params);
另外,您可能会发现以下链接中的最后一个答案很有帮助: http : //www.coderanch.com/t/505316/Android/Mobile/put-layout-middle-screen
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.