【问题标题】:Custom Alert dialog Scrolling issue自定义警报对话框滚动问题
【发布时间】:2017-04-20 09:41:04
【问题描述】:

我有一个带有某些编辑文本的自定义警报框。我需要让它可滚动。我尝试了一些方法,但对我不起作用。这是我的布局..

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center_horizontal"
    android:orientation="vertical"
    android:scrollbarAlwaysDrawVerticalTrack="true"
    android:scrollbars="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:layout_gravity="center"
        android:layout_marginTop="-2dp"
        android:background="#da5959"
        android:gravity="center"
        android:orientation="horizontal">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center">

</LinearLayout>
<!--
    </LinearLayout>
-->

所以请帮助我找到一些解决方案。

【问题讨论】:

  • 任何控制台错误?
  • 未发现错误。但我需要使布局可滚动以方便用户使用
  • 最后不见了?
  • 发布包含edittext的完整xml

标签: android xml scrollview android-alertdialog


【解决方案1】:

这样你可能会帮助解决问题。

<ScrollView>
    <LinearLayout android:orientation="vertical"
            android:scrollbars="vertical"
            android:scrollbarAlwaysDrawVerticalTrack="true">
        <TextView />
        <Button />
    </LinearLayout>
</ScrollView>

【讨论】:

    【解决方案2】:

    看看这个适用于 Android 的高级对话解决方案:https://github.com/orhanobut/dialogplus

    可能是另一种选择,它可以轻松处理滚动

    【讨论】:

      【解决方案3】:

      试试这个吧。

      MainActivity.Java

       AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                  LayoutInflater inflater = getLayoutInflater();
                  View dialogView = inflater.inflate(R.layout.alert_dialog, null);
                  // Set the custom layout as alert dialog view
                  builder.setView(dialogView);
                  // Get the custom alert dialog view widgets reference
      
                  // Create the alert dialog
                  final AlertDialog dialog = builder.create();
                  // Set positive/yes button click listener
      
                  // Display the custom alert dialog on interface
                  dialog.show();
      

      alert_dialog.xml

      <?xml version="1.0" encoding="utf-8"?>
      <ScrollView
          xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent" >
      
          <LinearLayout
              android:layout_width="match_parent"
              android:layout_height="fill_parent"
              android:layout_gravity="center_horizontal"
              android:orientation="vertical"
              android:scrollbarAlwaysDrawVerticalTrack="true"
              android:scrollbars="vertical">
          <LinearLayout
              android:layout_width="match_parent"
              android:layout_height="40dp"
              android:layout_gravity="center"
              android:layout_marginTop="-2dp"
              android:background="#da5959"
              android:gravity="center"
              android:orientation="horizontal"/>
      <ImageView
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:src="@mipmap/ic_launcher"/>
      
          <LinearLayout
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:gravity="center">
      
          </LinearLayout>
          </LinearLayout>
      
      </ScrollView>
      

      【讨论】:

        【解决方案4】:

        Scrollview 需要一种父布局和一种子布局,然后将您的设计放入子布局中,然后滚动工作正常。 试试这个代码:

        <?xml version="1.0" encoding="utf-8"?>
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="300dp"
            android:layout_height="100dp"
            android:layout_gravity="center_horizontal"
            android:orientation="vertical"
            android:scrollbarAlwaysDrawVerticalTrack="true"
            android:scrollbars="vertical">
        
        
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_gravity="center"
                android:layout_marginTop="-2dp"
                android:background="#da5959"
                android:gravity="center"
                android:orientation="horizontal">
        
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center">
        
                </LinearLayout>
            </LinearLayout>
        
            <ScrollView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scrollbars="vertical">
        
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical">
        
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="test1" />
        
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="test2" />
        
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="test3" />
        
        
                </LinearLayout>
            </ScrollView>
        
        </LinearLayout>
        

        【讨论】:

          猜你喜欢
          • 2023-03-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-04-13
          相关资源
          最近更新 更多