在Android中的对话框内具有固定高度的ScrollView

时间:2013-09-24 12:06:55

标签: android xml android-layout android-scrollview scrollable

我正在尝试使用以下代码在对话框弹出窗口中执行ScrollView:

    <?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="40dp" >

<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="40sp"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/new_realm_avatar"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_centerHorizontal="true"
            android:src="@drawable/ic_launcher" />

        <TextView
            android:id="@+id/new_realm_message"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/new_realm_avatar"
            android:text="long text" />
    </RelativeLayout>
 </ScrollView>

</RelativeLayout>

因此,当我在我的消息部分中调用它并且文本比屏幕大时,它变得可滚动但隐藏了键,它的高度与手机屏幕一样大。我希望对话框中的消息具有固定的高度,就像我尝试将ScrollView与另一个布局包装并强制执行高度一样,但它也不会那样工作。所以任何人都有任何想法?

2 个答案:

答案 0 :(得分:3)

试试这个

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="40dp" >

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="40dp" >

        <ImageView
            android:id="@+id/new_realm_avatar"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_centerHorizontal="true"
            android:src="@drawable/ic_launcher" />

        <TextView
            android:id="@+id/new_realm_message"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/new_realm_avatar"
            android:text="long text" />
    </RelativeLayout>
</ScrollView>

</RelativeLayout>

答案 1 :(得分:1)

首先,在您的孩子中RelativeLayout替换它:

android:layout_height="40sp"

android:layout_height="40dp"

因为sp用于字体大小