1

我是 android 开发的新手,对布局设计有一些疑问。我有以下代码,但它没有按我的意愿工作。我想让图像视图显示我拍摄的照片,并在其下方显示一个供用户输入数据的文本框。但是,此时,图像占据了整个屏幕,我找不到我的文本框。请多多指教。谢谢!

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

    <ImageView android:id="@+id/imageView1"
        android:layout_width="fill_parent" android:layout_height="fill_parent" 
        android:contentDescription="@string/desc"/>

    <EditText
        android:id="@+id/editTextSimple1"
        android:layout_height="wrap_content"
        android:layout_width="match_parent">
        <requestFocus />
    </EditText>

</LinearLayout>
4

4 回答 4

1

将 ImageView 布局高度更改为layout_height="wrap_content"
With layout_height="fill_parent",图像将占据所有空间。

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

    <ImageView android:id="@+id/imageView1"
        android:layout_width="fill_parent" 
android:layout_height="wrap_content"  
        android:contentDescription="@string/desc"/>

    <EditText
        android:id="@+id/editTextSimple1"
        android:layout_height="wrap_content"
        android:layout_width="match_parent">
        <requestFocus />
    </EditText>

</LinearLayout>
于 2012-12-12T09:41:21.683 回答
1

问题是

android:layout_height ="fill _parent"

这使它占据了整个父空间,即整个屏幕

将高度设置为 dp、px 等的特定值。或者使用

android:layout_height="wrap_content"

如果视图足够小以适合屏幕

于 2012-12-12T09:45:44.600 回答
1

使用 RelativeLayout 而不是 LinearLayout 并使用下面的 xml 代码而不是您的 xml 代码,它将解决您的问题。

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

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_above="@+id/editTextSimple1"
        android:contentDescription="desc" />

    <EditText
        android:id="@+id/editTextSimple1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" >

        <requestFocus />
    </EditText>

</RelativeLayout>
于 2012-12-12T09:55:18.277 回答
0
<ImageView android:id="@+id/imageView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:contentDescription="@string/desc"/>

像这样为您的 ImageView 添加权重。它会起作用的。

于 2012-12-12T09:44:43.303 回答