fix(upload): handle keyboard insets for bottom buttons at Depicts step

This commit is contained in:
Rohit Verma 2025-09-06 21:56:34 +05:30
parent 1879e86bd0
commit f1bc39953b
No known key found for this signature in database
3 changed files with 32 additions and 30 deletions

View file

@ -27,6 +27,7 @@ import fr.free.nrw.commons.upload.UploadActivity
import fr.free.nrw.commons.upload.UploadBaseFragment import fr.free.nrw.commons.upload.UploadBaseFragment
import fr.free.nrw.commons.upload.structure.depictions.DepictedItem import fr.free.nrw.commons.upload.structure.depictions.DepictedItem
import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog
import fr.free.nrw.commons.utils.handleKeyboardInsets
import fr.free.nrw.commons.wikidata.WikidataConstants.SELECTED_NEARBY_PLACE import fr.free.nrw.commons.wikidata.WikidataConstants.SELECTED_NEARBY_PLACE
import io.reactivex.Notification import io.reactivex.Notification
import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.android.schedulers.AndroidSchedulers
@ -69,6 +70,7 @@ class DepictsFragment : UploadBaseFragment(), DepictsContract.View {
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View { ): View {
_binding = UploadDepictsFragmentBinding.inflate(inflater, container, false) _binding = UploadDepictsFragmentBinding.inflate(inflater, container, false)
_binding!!.navigationButtonsContainer.handleKeyboardInsets()
return binding.root return binding.root
} }

View file

@ -124,38 +124,35 @@
</LinearLayout> </LinearLayout>
<View <View
android:id="@+id/button_divider" android:id="@+id/button_divider"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:layout_above="@+id/depicts_next" android:layout_above="@+id/navigation_buttons_container"
android:background="@color/divider_grey" /> android:background="@color/divider_grey" />
<Button <LinearLayout
android:id="@+id/depicts_next" android:id="@+id/navigation_buttons_container"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true" android:paddingHorizontal="@dimen/medium_padding"
android:layout_alignParentRight="true" android:paddingVertical="@dimen/small_padding"
android:layout_alignParentBottom="true" android:layout_alignParentBottom="true"
android:layout_marginEnd="24dp" android:gravity="end">
android:layout_marginRight="24dp" <Button
android:layout_marginBottom="24dp" android:id="@+id/depicts_previous"
android:contentDescription="@string/next" style="@style/Widget.AppCompat.Button.Borderless"
android:text="@string/next" android:layout_width="wrap_content"
android:textColor="@android:color/white" /> android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/standard_gap"
<Button android:contentDescription="@string/previous"
android:id="@+id/depicts_previous" android:text="@string/previous" />
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginEnd="@dimen/standard_gap"
android:layout_marginRight="@dimen/standard_gap"
android:layout_marginBottom="24dp"
android:layout_toStartOf="@id/depicts_next"
android:layout_toLeftOf="@id/depicts_next"
android:contentDescription="@string/previous"
android:text="@string/previous" />
<Button
android:id="@+id/depicts_next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/next"
android:text="@string/next"
android:textColor="@android:color/white" />
</LinearLayout>
</RelativeLayout> </RelativeLayout>

View file

@ -7,6 +7,9 @@
<dimen name="achievements_activity_margin_vertical">8dp</dimen> <dimen name="achievements_activity_margin_vertical">8dp</dimen>
<dimen name="medium_height">12dp</dimen> <dimen name="medium_height">12dp</dimen>
<dimen name="medium_width">12dp</dimen> <dimen name="medium_width">12dp</dimen>
<dimen name="small_padding">8dp</dimen>
<dimen name="medium_padding">16dp</dimen>
<dimen name="large_padding">24dp</dimen>
<!-- Standard margins / padding --> <!-- Standard margins / padding -->
<dimen name="login_padding">30dp</dimen> <dimen name="login_padding">30dp</dimen>