按钮没有显示

时间:2013-09-02 20:59:58

标签: android

我在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),在它下方,一个允许我使用EditText(@ string / ad_desc)的大框,以及我的所有按钮。按钮应位于底部,彼此相邻以这种方式对齐 - http://www.mkyong.com/android/android-linearlayout-example/(线性布局 - 水平示例),除了我希望我的按钮位于底部,而不是顶部。相反,我看到其他东西(附图像)enter image description here

如果您想要我附上任何其他内容,请随时问我。我是Android编程的新手,这完全超出了我无法正常工作的原因。

2 个答案:

答案 0 :(得分:1)

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

<?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 >

您可能需要为TextViewEditText添加一些保证金以获得适当的间距,但这应该会为您的TextView提供低于EditText的{​​{1}}和Button LinearLayout 1}} s在屏幕底部对齐的水平androidi:layout_below="@id/textView2"

修改

注意这个属性

EditText
android:layout_alignParentBottom="true"

和此属性

LinearLayout

我添加的{{1}}。

答案 1 :(得分:0)

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