OmgDatProblem
OmgDatProblem

Reputation: 21

How to create alert dialog with image and scrolling [ANDROID]

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"
          />

I know that if i have only text on alert dialog it's automatically scrolling, but with an imageview automatically scrolling doesn't work. How can i fix this problem?

Upvotes: 1

Views: 3995

Answers (1)

Blo
Blo

Reputation: 11978

Put your layout inside a 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>

I see that your LinearLayout has a horizontal orientation. So if this the case and you want to scroll horizontaly, you should replace ScrollView by HorizontalScrollView and set the orientation to horizontal.
Let me know if this works.

Upvotes: 3

Related Questions