简体   繁体   English

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

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

Dialog Java Code: 对话Java代码:

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: XML代码在这里:

<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. 我知道如果我只有警告对话框上的文字,它会自动滚动,但是使用imageview自动滚动不起作用。 How can i fix this problem? 我该如何解决这个问题?

Put your layout inside a ScrollView: 将您的布​​局放在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. 我看到你的LinearLayout有一个horizontal方向。 So if this the case and you want to scroll horizontaly, you should replace ScrollView by HorizontalScrollView and set the orientation to horizontal. 因此,如果是这种情况并且您想要横向滚动,则应该使用HorizontalScrollView替换ScrollView并将方向设置为水平。
Let me know if this works. 让我知道这个是否奏效。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM