93 votes

Android : Comment supprimer la marge/le bourrelet dans l'écran des préférences ?

Je suis confronté à un problème très étrange dans la conception de l'écran des préférences. Bien que je ne donne aucune marge dans la mise en page, il laisse un certain espace à gauche.

Comme vous pouvez le voir dans l'image ci-dessous : enter image description here

XML :

   <PreferenceScreen android:title="demo" >
       <CheckBoxPreference
           android:defaultValue="false"
            android:key="prefSync"`
            android:title="Auto Sync" />
    </PreferenceScreen>

Est-ce que je fais quelque chose de mal en ajoutant une case à cocher de préférence dans l'écran ?

0voto

Guy Points 65

La question a été posée il y a un certain temps, mais ce qui m'a aidé à résoudre ce problème, ce sont les marges négatives, pas besoin de fichiers personnalisés.

Lorsque vous créez votre classe SettingsActivity (qui contient le PreferenceFragment), il vous suffit de définir sa mise en page comme étant un fragment et d'ajouter une marge négative.

paramètres_activité :

<?xml version="1.0" encoding="utf-8"?>
<fragment
    android:layout_marginLeft="-40dp"
    android:name="com.example.USER.APPNAME.SettingsActivity$PrefsFragment"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.USER.APPNAME.SettingsActivity">
</fragment>

0voto

Shashi Kumar Points 21

Si vous utilisez AndroidX, vous pouvez ajouter/supprimer le rembourrage supplémentaire en ajoutant simplement l'attribut suivant.

 <Preference
    ...
    app:iconSpaceReserved="false/true"
    .../>

-5voto

MDXDave Points 171

Ajouter android:defaultValue="false" à votre <PreferenceScreen [...] Tag :

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:defaultValue="false">

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X