如何使TextView高度填充屏幕并将图像放在列表视图旁边

时间:2013-02-21 14:14:46

标签: android android-layout xamarin.android

我试图弄清楚布局的几个问题,并希望有布局知识的人可以提供帮助。我在下面的xml中截取了最终我想要实现的内容以及xml当前将显示的截图。

1)在中间部分(屏幕截图中的lorem ipsum文本)我需要将高度填满屏幕。基本上我试图扩展该部分,以便推动办公室文本及其下面的项目。

2)在底部我有两个图像按钮可以向左和向右滚动,列表视图在中间。我无法弄清楚如何在列表视图的右侧显示正确的图像按钮。

这是xml和截图:

<?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:minWidth="25px"
    android:minHeight="25px">
    <RelativeLayout
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/relativeLayout1">
        <ImageView
            android:id="@+id/ivPhoto"
            android:src="@android:drawable/ic_menu_gallery"
            android:layout_width="38dp"
            android:layout_height="52dp"
            android:layout_marginRight="5dp" />
        <TextView
            android:id="@+id/tvName"
            android:text="Medium Text"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/ivPhoto" />
        <TextView
            android:id="@+id/tvPracticeName"
            android:text="Small Text"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/ivPhoto"
            android:layout_below="@+id/tvName" />
        <TextView
            android:id="@+id/tvPracticeType"
            android:text="Small Text"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/ivPhoto"
            android:layout_below="@+id/tvPracticeName" />
        <ImageView
            android:id="@+id/ivFacebook"
            android:src="@android:drawable/ic_menu_gallery"
            android:layout_width="16dp"
            android:layout_height="16dp"
            android:layout_below="@+id/tvPracticeType"
            android:layout_toRightOf="@+id/ivPhoto"
            android:layout_marginRight="5dp" />
        <ImageView
            android:id="@+id/ivFacebook"
            android:src="@android:drawable/ic_menu_gallery"
            android:layout_width="16dp"
            android:layout_height="16dp"
            android:layout_below="@+id/tvPracticeType"
            android:layout_toRightOf="@+id/ivPhoto"
            android:layout_marginRight="5dp" />
        <ImageView
            android:id="@+id/ivLinkedIn"
            android:src="@android:drawable/ic_menu_gallery"
            android:layout_width="16dp"
            android:layout_height="16dp"
            android:layout_below="@+id/tvPracticeType"
            android:layout_toRightOf="@+id/ivFacebook"
            android:layout_marginRight="5dp" />
        <ImageView
            android:id="@+id/ivTwitter"
            android:src="@android:drawable/ic_menu_gallery"
            android:layout_width="16dp"
            android:layout_height="16dp"
            android:layout_below="@+id/tvPracticeType"
            android:layout_toRightOf="@+id/ivLinkedIn"
            android:layout_marginRight="5dp" />
    </RelativeLayout>
    <LinearLayout
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/linearLayout1">
        <TextView
            android:text="This section needs to growth vertically as to push the offices down."
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:id="@+id/textView1" />
    </LinearLayout>
    <TextView
        android:text="Offices"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textView1" />
    <RelativeLayout
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/linearLayout1">
        <ImageView
            android:id="@+id/ivLeftScroll"
            android:src="@android:drawable/ic_menu_gallery"
            android:layout_width="38dp"
            android:layout_height="52dp" />
        <ListView
            android:id="@+id/lvOffices"
            android:minWidth="25px"
            android:minHeight="25px"
            android:layout_width="0dp"
            android:layout_height="120dp"
            android:layout_toRightOf="@+id/ivLeftScroll" />
        <ImageView
            android:id="@+id/ivRightScroll"
            android:src="@android:drawable/ic_menu_gallery"
            android:layout_width="38dp"
            android:layout_height="52dp"
            android:layout_alignParentRight="true" />
    </RelativeLayout>
</LinearLayout>

这最终是我想要实现的,我可以做造型,我只需要帮助解决上面的两个问题:

enter image description here

以下是xml产生的内容:

enter image description here

感谢您的帮助!!

***更新:我更新了xml并使最后一部分成为相对布局,并将ListView宽度更改为0dp

1 个答案:

答案 0 :(得分:1)

尝试以下代码,将ListView高度设置为wrap_content并不是一个好主意,所以我将其设置为120dp,为您的目的设置一个合适的值:

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

<RelativeLayout
    android:id="@+id/relativeLayout1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:minHeight="25px"
    android:minWidth="25px" >

    <ImageView
        android:id="@+id/ivPhoto"
        android:layout_width="38dp"
        android:layout_height="52dp"
        android:layout_marginRight="5dp"
        android:src="@android:drawable/ic_menu_gallery" />

    <TextView
        android:id="@+id/tvName"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/ivPhoto"
        android:text="Medium Text"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
        android:id="@+id/tvPracticeName"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tvName"
        android:layout_toRightOf="@+id/ivPhoto"
        android:text="Small Text"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <TextView
        android:id="@+id/tvPracticeType"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tvPracticeName"
        android:layout_toRightOf="@+id/ivPhoto"
        android:text="Small Text"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <ImageView
        android:id="@+id/ivFacebook"
        android:layout_width="16dp"
        android:layout_height="16dp"
        android:layout_below="@+id/tvPracticeType"
        android:layout_marginRight="5dp"
        android:layout_toRightOf="@+id/ivPhoto"
        android:src="@android:drawable/ic_menu_gallery" />

    <ImageView
        android:id="@+id/ivFacebook"
        android:layout_width="16dp"
        android:layout_height="16dp"
        android:layout_below="@+id/tvPracticeType"
        android:layout_marginRight="5dp"
        android:layout_toRightOf="@+id/ivPhoto"
        android:src="@android:drawable/ic_menu_gallery" />

    <ImageView
        android:id="@+id/ivLinkedIn"
        android:layout_width="16dp"
        android:layout_height="16dp"
        android:layout_below="@+id/tvPracticeType"
        android:layout_marginRight="5dp"
        android:layout_toRightOf="@+id/ivFacebook"
        android:src="@android:drawable/ic_menu_gallery" />

    <ImageView
        android:id="@+id/ivTwitter"
        android:layout_width="16dp"
        android:layout_height="16dp"
        android:layout_below="@+id/tvPracticeType"
        android:layout_marginRight="5dp"
        android:layout_toRightOf="@+id/ivLinkedIn"
        android:src="@android:drawable/ic_menu_gallery" />
</RelativeLayout>

<TextView
    android:id="@+id/textView1"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:text="Growing section"
    android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Offices"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/ivLeftScroll"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:src="@android:drawable/ic_menu_gallery" />

    <ListView
        android:id="@+id/lvOffices"
        android:layout_width="0dp"
        android:layout_height="120dp"
        android:layout_weight="1" />

    <ImageView
        android:id="@+id/ivRightScroll"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:src="@android:drawable/ic_menu_gallery" />
</LinearLayout>

</LinearLayout>