Android: So erhalten Sie entfernen Marge / Padding in Preference-Bildschirm

8

Ich stehe vor einem sehr seltsamen Problem, wenn ich den Einstellungsbildschirm gestalte. Obwohl ich im Layout keinen Spielraum gebe, hinterlässt es links etwas Platz.

Wie Sie im Bild unten sehen können:

XML:

%Vor%

Mache ich etwas falsch beim Hinzufügen von Kontrollkästchen-Einstellungen auf dem Bildschirm?

    
Dory 29.08.2013, 11:11
quelle

9 Antworten

5

Versuchen Sie Folgendes:

%Vor%

Sie können das Padding mithilfe von setPadding();

festlegen     
Andrain 29.08.2013 11:20
quelle
3

Die Auffüllung wird durch das übergeordnete ListView im PreferenceScreen verursacht, das Ihre Einstellungen enthält. Wenn Sie ein PreferenceFragment verwenden, um Ihre Einstellungen zu erstellen, gehen Sie einfach zur Funktion onActivityCreated von PreferenceFragement und machen Sie Folgendes, um das Padding zu entfernen:

%Vor%     
Helmut Schottmüller 20.02.2016 09:32
quelle
1

compile 'com.android.support:reference-v7:24.2.1'

Verwenden Sie PreferenceFragmentCompat kann dies tun:

1. Definieren Sie einen PreferenceGroupAdapter:

%Vor%

2.Override PreferenceFragmentCompat onCreateAdapter-Methode:

%Vor%

Verwenden Sie style.xml kann dies tun:

1.Werte / styles.xml:

%Vor%

2.values-v17 / styles.xml:

%Vor%

3.value / styles.xml:

%Vor%     
zonda 07.12.2016 08:05
quelle
1

Leider hat nichts von oben für mich funktioniert.

Kurze Antwort :

Ich habe dies gelöst, indem ich einen negativen Rand im obersten Container des benutzerdefinierten Layouts verwendet habe.

Schritte:

  • Erstellen Sie ein benutzerdefiniertes Layout für die Vorgabe (z. B. preference_category.xml)
  • Geben Sie an, dass Ihre Vorgabe das benutzerdefinierte Layout verwendet, indem Sie in XML
  • ein Präferenz-Tag mit dem Parameter "android: layout" ergänzen
  • Negative Ränder anwenden

Detaillierte Antwort:

Das Präferenz-XML:

%Vor%

Das benutzerdefinierte Layout für die Präferenzzeile, das unnötige linke und rechte Ränder entfernt:

%Vor%

Das benutzerdefinierte Layout für die Präferenzkategorie, das unnötige linke und rechte Ränder entfernt:

%Vor%     
Gord 18.02.2017 20:34
quelle
0

Die 'Auffüllung' wird in PreferenceFrameLayout.java :

eingeleitet %Vor%

Wenn Sie wissen, wie Sie die von Android definierten Stile überschreiben können, könnten Sie dies wahrscheinlich lösen. Es ist jedoch nicht sehr geradlinig.

    
jayeffkay 14.03.2014 16:48
quelle
0

Ich versuche es mit

%Vor%

mit CheckBoxPreference in Android 4.4, kann aber nicht von links auffüllen. Ich habe versucht, ein kleines transparentes Symbol zu verwenden und

hinzuzufügen %Vor%

und es scheint Arbeit für mich. Ich hoffe, es kann helfen. Danke.

    
Bao Doan 17.07.2014 04:55
quelle
0

Ich weiß nicht, ob es für eine Antwort zu spät ist, aber heute hatte ich das gleiche Problem, und nichts von dem hilft mir.

Also habe ich diese Lösung verwendet:

In meiner DisclaimerPreference that extends Preference übertrage ich die Methode onBindView(View view) auf diese Weise:

%Vor%

Der Schlüssel ist, RelativeLayout in der Hauptansicht als GONE zu setzen. Bitte lassen Sie mich wissen, wenn etwas nicht stimmt:)

    
Francesco Florio 04.02.2016 17:37
quelle
0

Anscheinend würde das Hinzufügen von android:layout="@null" zu Ihrer Präferenz in xml ausreichen. Aber dadurch wird auch die Titelgröße größer.

    
John 18.11.2016 10:42
quelle
-3

Fügen Sie android:defaultValue="false" zu Ihrem <PreferenceScreen [...] hinzu:

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

    
MDXDave 14.10.2013 10:04
quelle