android app开发简单的消息应用程序

时间:2013-02-14 13:44:01

标签: android

我使用以下main.xml代码,但我只能看到一个编辑文本框

为什么会发生这种情况,我需要帮助?我已经尝试了很多次,但我看不到正确的编辑框和所有其他组件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >

<TextView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"

    android:text="ENTER THE PHONE NUMBER HERE" />

<EditText 
    android:id="@+id/txtPhoneNo"  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"        
    />
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"         
    android:text="Message"
    />     
<EditText 
    android:id="@+id/txtMessage"  
    android:layout_width="fill_parent" 
    android:layout_height="150dp"
    android:gravity="top"         
    />          
<Button 
    android:id="@+id/btnSendSMS"  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:text="Send SMS"
    />    

2 个答案:

答案 0 :(得分:1)

这是因为您尚未为LinearLayout设置方向,默认为水平。由于您将所有视图宽度设置为fill_parent,因此其他人无法使用

你有几个选择。你可以设置

android:orientation="vertical"

在您的根LinearLayout中,或者您可以更改这些视图的宽度

android:layout_width="wrap_content"

显然,还有其他方法,但这些是最简单的修复方法

LinearLayout Docs

同时注意

  

FILL_PARENT(在API级别8及更高级别重命名为MATCH_PARENT),这意味着视图要与其父级一样大(减去填充)

Layout Params

旁注

我看到你在xml中使用了硬编码的字符串。 Eclipse会警告你这件事,如果你不习惯使用strings.xml文件夹并使用android:text="@string/string_name"

,它可能会让你头疼。

Strings

答案 1 :(得分:0)

在LinearLayout上,检查orientation = vertical