在android中设置布局

时间:2012-10-05 15:46:14

标签: android android-layout

我想在Android应用中设置布局,以便编辑文本占据屏幕的大部分,按钮位于底部。我该如何动态地做到这一点?

screenshot http://i46.tinypic.com/71ldf5.png

虽然我希望文本字段与所有剩余空间保持平衡。

提前致谢。

这个问题已得到解答,我得到了解决方案。那么为什么世界上它被标记为“不具有建设性”?

这设置了如何在android xml定义中赋予权重的示例。没有冒犯,但我觉得那些在这篇文章中投票的吸血鬼正在漫游,即使它是微不足道的,也可以通过任何形式的借口从人们身上吸血。

如果社区中有人支持公开交流,请到这里看看巨魔是如何摧毁知识的。

最后,我希望我在最后三段中已经清楚了。

3 个答案:

答案 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>