具有自定义布局的Android对话框:未完全显示

时间:2015-07-26 13:27:21

标签: android android-layout gridview android-dialog

我正在创建一个应用程序,其中显示带有照片的GridView和一些带有照片详细信息的TextView(上传者,说明)。当用户点击GridView项目时,它应该在TextViews中显示更大的图片(就像在Facebook上点击图片一样)。

这就是为什么我决定使用Alert Dialog和自定义布局来实现它。布局如下,只是图片右侧的ImageView和TextView。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    tools:context="com.example.handmadecommunity.FullImageActivity" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin" >

        <ImageView
            android:id="@+id/picture"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:contentDescription="@string/contentDescriptor"
            android:maxHeight="500dp"
            android:maxWidth="500dp"
            android:src="@drawable/test" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/picture"
            android:layout_marginLeft="41dp"
            android:layout_marginTop="24dp"
            android:layout_toRightOf="@+id/picture"
            android:ellipsize="marquee"
            android:gravity="left"
            android:scrollHorizontally="true"
            android:singleLine="false"
            android:textAppearance="?android:attr/textAppearanceMedium" />
    </RelativeLayout>

</ScrollView>

我按以下方式创建警报对话框(只是指出,这是一个片段,这就是为什么getActivity())

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View layout = inflater.inflate(R.layout.activity_full_image, null);

TextView description = (TextView) layout.findViewById(R.id.textView1);
description.setText(desc);

alertDialogBuilder.setTitle(title).setView(layout).setCancelable(true);
AlertDialog alert = alertDialogBuilder.create();
alert.show();

我的问题可以在这张图片http://imgur.com/OGQRyse上显示。

我在布局或代码上遗漏了什么?

1 个答案:

答案 0 :(得分:0)

你的ImageView太大了,它将TextView推出屏幕,试着把它放在ImageView下面

<TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ellipsize="marquee"
        android:gravity="left"
        android:scrollHorizontally="true"
        android:singleLine="false"
        android:text="Hello "
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_below="@+id/picture"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />