我正在android中创建一个用户表单。我想在单击按钮时显示编辑文本框。在该按钮下方,同时最初出现在该按钮下方的内容向下移动更多。
怎么办呢?
答案 0 :(得分:11)
如果你只想“点击一个按钮显示一个编辑文本框”,你为什么不这样做..
将EditText保留在XML布局的文件中位于按钮下方所需的位置
XML设置
android:visibility = "gone"
并制作
的实例 EditText et=(EditText)findViewById(R.id.thatEditText);
在活动中...在按钮点击事件集
中 et.setVisibility(View.VISIBLE);
答案 1 :(得分:3)
在布局中定义视图,然后在代码中显示并隐藏它
myView.setVisibility(View.VISIBLE)
和myView.setVisibility(View.GONE)
。
答案 2 :(得分:3)
//xml file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/btn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Button"
/>
<EditText
android:id="@+id/edtbox"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
//Activity
//oncreate
editText.setVisibility(View.GONE);
btn..setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
editText.setVisibility(View.VISIBLE);
}
});
答案 3 :(得分:1)
在xml中定义EditText并隐藏它。单击按钮时,将其可见性更改为View.Visible。
YourEditText.setVisibility(View.GONE);
btn.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
YourEditText.setVisibility(View.VISIBLE);
}
});
答案 4 :(得分:1)
如果您的布局是相对的,则addView(yourView,index)不起作用。假设您想要在对该控件进行其他控制和引用之后添加视图。
e.g。
<RelativeLayout android:id="@+id/templayout">
<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="add"/>
并且您希望在文本View之后添加编辑文本控件然后单击按钮:
RelativeLayout relativeLayout = (RelativeLayout)findViewById(R.id.templayout);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.BELOW, R.id.title);
EditText yourEditText = new EditText(this);
relativeLayout.addView(yourEditText, params);