除非LinearLayout的方向更改为“垂直”,否则以下coe片段中的Button无法工作。我觉得这种行为很奇怪。有什么答案/想法吗?
文件: activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.androidquickstart.MainActivity" >
    <EditText 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Enter your name"
        android:id="@+id/activity_main_name" />
    <Button 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Confirm Name" 
        android:onClick="confirmName" />
</LinearLayout>SideNote:我试着在Mac的模拟器中测试输出
发布于 2015-08-23 18:38:33
你需要这样做:
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.androidquickstart.MainActivity" >
    <EditText 
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:hint="Enter your name"
        android:id="@+id/activity_main_name" />
    <Button 
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Confirm Name" 
        android:onClick="confirmName" />
</LinearLayout>将layout_weight添加到视图中将根据要设置的值来缩放视图。在本例中,EditText宽度与按钮宽度的比例为1:1。
此外,我将视图的宽度设置为0dp的原因是,为了正确计算权重,必须这样做。Android Studio永远不会知道安装该应用程序时屏幕的大小.因此,在使用layout_weight时,除了0dp之外,您不能指定其他任何内容。
发布于 2015-08-23 18:39:57
简单的回答。您的EditText已经耗尽了所有屏幕。将android:layout_width = "match_parent"更改为android:layout_width="wrap_content"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.androidquickstart.MainActivity" >
      <EditText 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:hint="Enter your name"
            android:id="@+id/activity_main_name" />
        <Button 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Confirm Name" 
            android:onClick="confirmName" />
    </LinearLayout>https://stackoverflow.com/questions/32170032
复制相似问题