我想在Android应用中设置布局,以便编辑文本占据屏幕的大部分,按钮位于底部。我该如何动态地做到这一点?
screenshot http://i46.tinypic.com/71ldf5.png
虽然我希望文本字段与所有剩余空间保持平衡。
提前致谢。
这个问题已得到解答,我得到了解决方案。那么为什么世界上它被标记为“不具有建设性”?
这设置了如何在android xml定义中赋予权重的示例。没有冒犯,但我觉得那些在这篇文章中投票的吸血鬼正在漫游,即使它是微不足道的,也可以通过任何形式的借口从人们身上吸血。
如果社区中有人支持公开交流,请到这里看看巨魔是如何摧毁知识的。
最后,我希望我在最后三段中已经清楚了。
答案 0 :(得分:0)
非常容易
<?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" >
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:ems="10"
android:gravity="top|left" >
<requestFocus />
</EditText>
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
答案 1 :(得分:0)
编辑:
RelativeLayout layout = new RelativeLayout(this);
layout.setScrollContainer(true); // Remove this if you would not like the soft keyboard to resize the view
LayoutParams layoutParams = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
EditText text = new EditText(this);
text.setGravity(Gravity.TOP | Gravity.LEFT);
Button button = new Button(this);
button.setId(1000); // The ID can be anything really
LayoutParams textParams = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
textParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
textParams.addRule(RelativeLayout.ABOVE, button.getId());
LayoutParams buttonParams = new LayoutParams(LayoutParams.FILL_PARENT, 100); // I used a basic height of 100px here
buttonParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
text.setLayoutParams(textParams);
button.setLayoutParams(buttonParams);
layout.setLayoutParams(layoutParams);
layout.addView(text);
layout.addView(button);
setContentView(layout);
答案 2 :(得分:0)
尝试这样的事情:
<?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" >
<EditText
android:id="@+id/edittext"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="Enter note here"
android:layout_weight="10"
android:gravity="center"
/>
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Done"
android:layout_weight="1"
/>
</LinearLayout>