代码之家  ›  专栏  ›  技术社区  ›  Denis Palnitsky

调整FastScroll警报对话框的大小

  •  5
  • Denis Palnitsky  · 技术社区  · 14 年前

    如何调整大小?

    2 回复  |  直到 14 年前
        1
  •  1
  •   gary    14 年前

    它能像使用 setView 在AlertDialog类中?(以及对.xml的一些编辑)。首先,我了解了 设置视图 here .

    public void setView (View view, int viewSpacingLeft, int viewSpacingTop, int viewSpacingRight, int viewSpacingBottom)
    
    Set the view to display in that dialog, specifying the spacing to appear around that view.    
    Parameters:
    view    The view to show in the content area of the dialog
    viewSpacingLeft Extra space to appear to the left of view
    viewSpacingTop  Extra space to appear above view
    viewSpacingRight    Extra space to appear to the right of view
    viewSpacingBottom   Extra space to appear below view
    

    下面是一些SDK的示例代码(AlertDialogSamples.java文件)它使用 设置视图 .

    case DIALOG_TEXT_ENTRY:
                // This example shows how to add a custom layout to an AlertDialog
                LayoutInflater factory = LayoutInflater.from(this);
                final View textEntryView = factory.inflate(R.layout.alert_dialog_text_entry, null);
                return new AlertDialog.Builder(AlertDialogSamples.this)
                    .setIcon(R.drawable.alert_dialog_icon)
                    .setTitle(R.string.alert_dialog_text_entry)
                    .setView(textEntryView)
                    .setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int whichButton) {
    
                            /* User clicked OK so do some stuff */
                        }
                    })
                    .setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int whichButton) {
    
                            /* User clicked cancel so do some stuff */
                        }
                    })
                    .create();
            }
            return null;
    

    最后,一些xml文件看起来像是在文本周围添加了边距(alert\u dialog\u text)_entry.xml).

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
    
        <TextView 
            android:id="@+id/username_view"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_marginLeft="20dip"
            android:layout_marginRight="20dip"
            android:text="@string/alert_dialog_username"
            android:gravity="left"
            android:textAppearance="?android:attr/textAppearanceMedium" />
    

    希望有帮助。

        2
  •  1
  •   Denis Palnitsky    14 年前

    我的解决方案。 我们禁用内置的快速滚动功能并使用 this 代码有小改动。可变mOverlaySize负责分区警报的大小。