如何使用图像和滚动创建警报对话框[ANDROID]

时间:2014-03-25 17:59:47

标签: java android xml scroll alertdialog

Dialog Java Code:

final Dialog dialog = new Dialog(context);
                dialog.setContentView(R.layout.custom_dialog);
                dialog.setTitle("Title...");
                ScrollView scroll = new ScrollView(context);
                scroll.setBackgroundColor(android.R.color.transparent);
                scroll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                                                             LayoutParams.FILL_PARENT));    
                // set the custom dialog components - text, image and button
                TextView text = (TextView) dialog.findViewById(R.id.text);
                text.setText("Android custom dialog example!");
                ImageView image = (ImageView) dialog.findViewById(R.id.image);
                image.setImageResource(R.drawable.icon);
                dialog.show();

XML Code Here:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/layout_root"
          android:orientation="horizontal"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:padding="10dp"
          android:scrollbarAlwaysDrawVerticalTrack="true">
          >
<ImageView android:id="@+id/image"
           android:layout_width="wrap_content"
           android:layout_height="fill_parent"
           android:layout_marginRight="10dp"
           />
<TextView android:id="@+id/text"
          android:layout_width="wrap_content"
          android:layout_height="fill_parent"
          android:textColor="#FFF"
          />

我知道如果我只有警告对话框上的文字,它会自动滚动,但是使用imageview自动滚动不起作用。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

将您的布局放在ScrollView中:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent" >

      <LinearLayout
          android:id="@+id/layout_root"
          android:orientation="vertical"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:padding="10dp"
          android:scrollbarAlwaysDrawVerticalTrack="true" >

          <ImageView android:id="@+id/image"
              android:layout_width="wrap_content"
              android:layout_height="fill_parent"
              android:layout_marginRight="10dp" />

          <TextView android:id="@+id/text"
              android:layout_width="wrap_content"
              android:layout_height="fill_parent"
              android:textColor="#FFF" />

    </LinearLayout>

<ScrollView>

我发现您的LinearLayouthorizontal方向。因此,如果是这种情况并且您想要横向滚动,则应将ScrollView替换为HorizontalScrollView并将方向设置为水平。
如果有效,请告诉我。