我是 Android 编程新手(尽管我是 C 专家和 Java 中级专家)。
我不明白为什么当我尝试使用创建新项目时 Eclipse 自动生成的默认 RelativeLayout 来 setContentView() 时,我的应用程序会崩溃。
它在模拟器和我的手机上都崩溃了。
但是,如果我将布局更改为 LinearLayout 它工作得非常好。
谁能给我一个清楚的解释为什么会发生这种情况?
谢谢
我是 Android 编程新手(尽管我是 C 专家和 Java 中级专家)。
我不明白为什么当我尝试使用创建新项目时 Eclipse 自动生成的默认 RelativeLayout 来 setContentView() 时,我的应用程序会崩溃。
它在模拟器和我的手机上都崩溃了。
但是,如果我将布局更改为 LinearLayout 它工作得非常好。
谁能给我一个清楚的解释为什么会发生这种情况?
谢谢
首先让我向您解释一下布局并按照给定的示例进行操作:
现在让我们将注意力转向那些组织其他控件的有用布局控件。最常用的布局类是:
FrameLayout – 旨在显示一堆子视图控件。可以将多个视图控件添加到此布局。这可用于在同一屏幕空间内显示多个控件。
LinearLayout – 设计用于在单行或单列中显示子视图控件。这是一种非常方便的用于创建表单的布局方法。
RelativeLayout – 旨在显示子 View 控件之间的关系。例如,您可以将控件设置为位于另一个控件的“上方”或“下方”或“左侧”或“右侧”,由其唯一标识符引用。您还可以相对于父边缘对齐子视图控件。
TableLayout – 旨在将子视图控件组织成行和列。使用 TableRow 布局视图(基本上是水平方向的 LinearLayout)为表格的每一行添加单独的视图控件。
尝试以下代码进行相对布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:padding="5dp">
<TextView
android:id="@+id/textMsg"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="14dp" />
</LinearLayout>
<Button
android:id="@+id/btn2"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:text="Contacts"
android:textColor="#342D7E" />
<Button
android:id="@+id/btn1"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="Send"
android:textColor="#342D7E" />
<EditText
android:id="@+id/edittext1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/btn2"
android:layout_alignParentLeft="true"
android:ems="10"
android:hint="Type a Message"
android:maxLines="5" >
<requestFocus />
</EditText>
</RelativeLayout>
让我知道它是否再次崩溃
我只是有同样的问题。
我如何修复它:在 main.xml 中更改布局后,我在 mainActivity.java 文件中声明的布局仍然是 LinearLayout。
进入您的 mainActivity.java 文件并将其更改为相对输出。
检查你的它可能会解决它