fix: habits with long description could not be saved

- That was due to a bug where the dialog was not resized
    or scrollable and therefore the save button was not
    accessible

References: #462
This commit is contained in:
Christoph Hennemann
2019-01-23 21:16:26 +01:00
parent 178061475e
commit b180f11834
2 changed files with 67 additions and 51 deletions

View File

@@ -19,6 +19,7 @@
package org.isoron.uhabits.activities.habits.edit;
import android.app.Dialog;
import android.content.*;
import android.os.*;
import android.support.annotation.*;
@@ -117,6 +118,17 @@ public class EditHabitDialog extends AppCompatDialogFragment
return view;
}
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Dialog dialog = super.onCreateDialog(savedInstanceState);
final Window window = dialog.getWindow();
if (window != null) {
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
}
return dialog;
}
protected int getTitle()
{
if (originalHabit != null) return R.string.edit_habit;

View File

@@ -17,11 +17,14 @@
~ with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/container"
style="@style/dialogForm"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".activities.habits.edit.EditHabitDialog"
tools:ignore="MergeRootFrame">
@@ -56,10 +59,10 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:paddingEnd="16dp"
android:paddingStart="0dp"
android:paddingLeft="0dp"
android:paddingRight="16dp"
android:paddingStart="0dp">
android:paddingEnd="16dp"
android:paddingRight="16dp">
<Button
android:id="@+id/buttonDiscard"
@@ -76,3 +79,4 @@
android:text="@string/save" />
</LinearLayout>
</LinearLayout>
</ScrollView>