0

我在我的 xml 文件中定义了以下代码,但我没有看到显示按钮。我已经阅读了太多帖子,并且几乎尝试了所有可能的组合,但没有运气:(如果有人能在这里帮助我,我将不胜感激。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="100dp"
    android:gravity="center"
    android:text="@string/hello_world"
    android:textSize="32sp" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"        
    android:gravity="center_horizontal"
    android:hint="@string/ad_desc"
    android:inputType="text" />    

<Button
    android:id="@+id/button4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"       
    android:text="@string/phone" />

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/sms" />

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"          
    android:text="@string/maps" />

<Button
    android:id="@+id/button3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"        
    android:text="@string/video" />  

</LinearLayout>

我想在顶部(文本视图 - @string/hello_world)上看到我的应用程序名称,在它的正下方,一个允许我编辑文本(@string/ad_desc)的大框,在它下面,是我的所有按钮。该按钮应位于底部,以这种方式彼此相邻对齐 - http://www.mkyong.com/android/android-linearlayout-example/(线性布局 - 水平示例),除了我希望我的按钮是在底部,而不是在顶部。相反,我看到了其他东西(附图片)在此处输入图像描述

如果您希望我附上其他任何东西,请随时问我。我是 Android 编程的新手,这完全超出了我的理解,为什么它不起作用。

4

2 回答 2

1

如果你想Buttons在底部对齐,那么你最好以 aRelativeLayout作为根。尝试将其更改为以下内容并注意属性

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="100dp"
    android:text="@string/hello_world"
    android:textSize="32sp" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"        
    android:hint="@string/ad_desc"
    android:inputType="text"
    androidi:layout_below="@id/textView2" />  
<LinearLayout
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:layout_alignParentBottom="true"/>


<Button
    android:id="@+id/button4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"       
    android:text="@string/phone" />

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/sms" />

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"          
    android:text="@string/maps" />

<Button
    android:id="@+id/button3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"        
    android:text="@string/video" />  
</LinearLayout>

</RelativeLayout >

您可能需要为TextViewand添加一些边距以EditText获得适当的间距,但这应该会给您TextView下面的EditText内容,并且您的 s 在屏幕底部Button水平对齐。LinearLayout

编辑

注意这个属性

androidi:layout_below="@id/textView2"

of theEditText和 this 属性

android:layout_alignParentBottom="true"

LinearLayout我添加的。

于 2013-09-02T21:10:54.047 回答
0

最简单的事情是创建一个新的相对布局,然后从调色板中放置您需要的项目。或者开始尝试学习通过 xml 制作 matrioska 布局;) http://developer.android.com/guide/topics/ui/declaring-layout.html

于 2013-09-02T21:23:42.113 回答