I'm showing a dialog when the user clicks a button. When the dialog appears and you click an EditText to enter some text, you can't see the bottom buttons (and the lowest EditText) anymore. So you have to click the keyboard down, then select the button or EditText. I searched for the answer for a while now, but i can't find it.
So: How do i make my dialog scrollable? Apparently my code doesnt do the trick:
<?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="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:orientation="vertical"
android:scrollbars="vertical"
android:scrollbarAlwaysDrawVerticalTrack="true">
<EditText
android:id="@+id/addKlantNaam"
android:textSize="20sp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/klantNaam"
/>
<EditText
android:id="@+id/addKlantLocatie"
android:textSize="20sp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/klantLocatie"
/>
<TextView
android:id="@+id/scheidenDoorKomma"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="16sp"
android:text="@string/scheidenDoorKomma"/>
<EditText
android:id="@+id/addFabrieken"
android:textSize="20sp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/fabrieken"
/>
<EditText
android:id="@+id/addMachines"
android:textSize="20sp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/machines"
/>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom" >
<Button
android:id="@+id/dialogAnnuleren"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/annuleren"
android:textSize="22sp" />
<Button
android:id="@+id/dialogToevoegen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/dialogAnnuleren"
android:textSize="22sp"
android:text="@string/toevoegen"/>
</RelativeLayout>
</LinearLayout>
This is how i call for the dialog:
btnAdd.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// custom dialog
dialog = new Dialog(context);
dialog.setContentView(R.layout.addklant_layout);
dialog.setTitle("Klant toevoegen");
Button BTNannuleren = (Button) dialog.findViewById(R.id.dialogAnnuleren);
// if button is clicked, close the custom dialog
BTNannuleren.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
Button BTNtoevoegen = (Button) dialog.findViewById(R.id.dialogToevoegen);
// if button is clicked, close the custom dialog
BTNtoevoegen.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
StoreKlantInDatabase task = new StoreKlantInDatabase();
task.execute(urlInsertKlant);
dialog.dismiss();
}
});
dialog.show();
}
});
anyone can help me out here?
The guidelines for what you are asking are can be found here. As you can see. there are a number of ways to achieve what you are asking.
Further to this, you could consider changing default action of the 'Enter' button on the keyboard to select the next EditText and finally to submit the form when you are done (read up about it here):
android:imeOptions="actionDone"