Adding a vertical scrollbar to an AlertDialog in Android?
Solution 1:
In order for a view to scrollable, it must be nested inside of a ScrollView
container:
<ScrollView>
<LinearLayout android:orientation="vertical"
android:scrollbars="vertical"
android:scrollbarAlwaysDrawVerticalTrack="true">
<TextView />
<Button />
</LinearLayout>
</ScrollView>
Note that a ScrollView
container can only have one child layout view. It is not possible, for example, to place a TextView
and Button
in a ScrollView
without the LinearLayout
.
Solution 2:
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle("YOUR_TITLE")
.setMessage("YOUR_MSG")
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
})
.setIcon(android.R.drawable.ic_dialog_info)
.show();
TextView textView = (TextView) dialog.findViewById(android.R.id.message);
textView.setMaxLines(5);
textView.setScroller(new Scroller(this));
textView.setVerticalScrollBarEnabled(true);
textView.setMovementMethod(new ScrollingMovementMethod());