Android - Activity Home/Up Pfeil hat eine zusätzliche Polsterung/Marge mit dem SDK 24
Ich habe soeben meine app mit SDK 23 SDK 24.
Ein problem entstanden ist, für meine Aktivitäten, die haben, show Up/Home-Taste (D. H., getSupportActionBar().setDisplayHomeAsUpEnabled(true)
), dass es jetzt zusätzliche (unerwünschte) Raum zwischen dem Pfeil und der Aktivität Titel.
Für Aktivitäten, die nicht mit einem Pfeil, der Aktivität Titel ist in genau der gleichen Stelle wie vorher, was darauf schließen lässt das zusätzliche padding/margin ist verbunden mit dem Pfeil nach Oben, anstatt mit der Aktivität Titel.
Meine Frage ist, wie kann ich das layout ändern, so dass es aussieht das gleiche mit SDK 24, wie er mit SDK 23?
Kleine Lücke zwischen Oben und Titel mit SDK 23:
Großen (unerwünschten) Abstand zwischen Pfeil und Titel mit SDK 24:
Hier ist mein altes zu bauen.gradle-SDK (23):
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.example.myapp"
minSdkVersion 19
targetSdkVersion 23
versionCode 42
versionName "0.42"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.google.android.gms:play-services-vision:9.0.2'
compile 'ch.acra:acra:4.7.0'
compile 'com.android.support:support-v4:23.4.0'
compile 'com.android.support:recyclerview-v7:23.4.0'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.android.support:support-v13:23.4.0'
compile 'com.journeyapps:zxing-android-embedded:3.2.0@aar'
compile 'com.google.zxing:core:3.2.1'
}
Hier ist das neue bauen.gradle-SDK (24):
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.example.myapp"
minSdkVersion 19
targetSdkVersion 24
versionCode 42
versionName "0.42"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.google.android.gms:play-services-vision:9.0.2'
compile 'ch.acra:acra:4.7.0'
compile 'com.android.support:support-v4:24.0.0'
compile 'com.android.support:recyclerview-v7:24.0.0'
compile 'com.android.support:appcompat-v7:24.0.0'
compile 'com.android.support:design:24.0.0'
compile 'com.android.support:support-v13:24.0.0'
compile 'com.journeyapps:zxing-android-embedded:3.2.0@aar'
compile 'com.google.zxing:core:3.2.1'
}
- Durch die Art und Weise, die Sie verwenden können buildToolsVersion "24"
- Wenn ich versuche, es sagt "Fehler zu finden, Build-Tools, revision 24.0.0"... aber es gibt auch einen link, um es zu installieren. 🙂 (Übrigens, es hat nicht das problem behoben.)
- Haben Sie heruntergeladen, Android SDK Build-tools aus dem SDK-manager ?
- Laut Android-SDK, alles war up-to-date, aber ich habe installiert, Build-Tools rev 24.0.0. Das problem ist immer noch da, obwohl.
- Ich sah dies als gut. Es scheint, dass, wenn Sie ein downgrade all die Unterstützung, die Bibliotheken von 24.0.0 zu 23.4.0 ist es wieder normal. So scheint es zu sein, eine support-library-Problem?
- Bitte Lesen Sie meine Antwort. Es sollte gut funktionieren.
- Ich bin froh, dass es geklappt hat. Also bitte akzeptieren Sie meine Antwort, wenn Sie nichts dagegen haben. Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, dass diese Polsterung ist, einen neuen standard zu entsprechen, Material-Spezifikation SDK 24.
Zuerst müssen Sie ausblenden Standard-Symbolleiste Titel von diesem code:
Dann eine Datei namens
toolbar.xml
und fügen Sie diese codes in die Datei:Wie Sie sehen, können Sie kontrollieren alles, was in dieser Datei. Betrachten Sie diese Zeile in toolbar.xml :
Dies ist, was Sie wollen. Goodluck.
<include layout="@layout/toolbar"/>
jeder Aktivität layout-Datei.@Override public void setContentView(int layoutResId) { super.setContentView(layoutResId); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); if (toolbar != null) { toolbar.setTitle(getTitle()); //toolbar.setSubtitle("Subtitle"); setSupportActionBar(toolbar); ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setDisplayShowHomeEnabled(true); } }
Diese beantwortet wurde, die im Android-Bugtracker. Der link ist:
https://code.google.com/p/android/issues/detail?id=213826
Hinzufügen
app:contentInsetStartWithNavigation="0dp"
um die Symbolleiste anzuzeigen.versuchen, diesen code zu entfernen unerwünschte Raum
verwenden Sie es nach Ihrem Einsatz :-