在tableLayout上方设置ImageView

时间:2018-03-30 07:56:27

标签: java android

我很难知道为什么我的imageView不会出现在tableLayout之上。 作为我评估的一部分,我必须使用RelativeLayout而不是linearLayout,我应该在TableLayout上面设置一个图像,但它不起作用。 这是我的代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.mad.exercise3.MainActivity">
    <ImageView
        android:id="@+id/image"
        android:layout_width="match_parent"
        android:layout_height="@dimen/imageSize"
        android:layout_marginTop="20dp"
        android:contentDescription="@string/imageDescription"
        app:srcCompat="@mipmap/ic_launcher_round"
        android:layout_alignParentTop="true"/>

<TableLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginEnd="10dp"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:layout_marginStart="10dp"
    android:layout_marginTop="20dp">

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:id="@+id/textView_fn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/TextView_fn" />

        <EditText
            android:id="@+id/editText_fn"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:inputType="textPersonName" />
    </TableRow>

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:id="@+id/textView_ln"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/viewText_ln" />

        <EditText
            android:id="@+id/editText_ln"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:inputType="textPersonName" />

    </TableRow>

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:id="@+id/textView_phone"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/textView_phone" />

        <EditText
            android:id="@+id/editText_phone"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:inputType="phone" />
    </TableRow>

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:id="@+id/textView_email"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/textView_email" />

        <EditText
            android:id="@+id/editText_email"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:inputType="textEmailAddress" />
    </TableRow>
</TableLayout>

<LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="10dp">


        <Button
            android:id="@+id/swapBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/swapBtn" />

        <Button
            android:id="@+id/rotateBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/rotateBtn" />
    </LinearLayout>

这就是android studio正在展示的内容。 result

由于某种原因,即使我将图像视图设置为alignParentTop,imageView和tableLayout也出现在同一区域中。

2 个答案:

答案 0 :(得分:0)

使用表格布局的ID,然后从您的图片添加:android:layout_above:"id/tablelayout"

答案 1 :(得分:0)

试试这个

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.mad.exercise3.MainActivity">
<ImageView
    android:id="@+id/image"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp"
    android:contentDescription="@string/imageDescription"
    app:srcCompat="@mipmap/ic_launcher_round"
    android:layout_alignParentTop="true"/>

<TableLayout
    android:layout_below="@+id/image"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginEnd="10dp"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:layout_marginStart="10dp"
    android:layout_marginTop="20dp">

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:id="@+id/textView_fn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/TextView_fn" />

        <EditText
            android:id="@+id/editText_fn"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:inputType="textPersonName" />
    </TableRow>

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:id="@+id/textView_ln"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/viewText_ln" />

        <EditText
            android:id="@+id/editText_ln"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:inputType="textPersonName" />

    </TableRow>

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:id="@+id/textView_phone"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/textView_phone" />

        <EditText
            android:id="@+id/editText_phone"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:inputType="phone" />
    </TableRow>

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:id="@+id/textView_email"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/textView_email" />

        <EditText
            android:id="@+id/editText_email"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:inputType="textEmailAddress" />
    </TableRow>
</TableLayout>

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="10dp">


    <Button
        android:id="@+id/swapBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/swapBtn" />

    <Button
        android:id="@+id/rotateBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/rotateBtn" />
</LinearLayout>

android:layout_height="wrap_content"添加到您的imageview,将android:layout_below="@+id/image"添加到TableLayout