Saya telah mengembangkan aplikasi demo sederhana dengan layar splash, peta dan beberapa layar biasa.
Saya memiliki bilah tindakan di bagian atas yang berisi logo. Semuanya terlihat baik-baik saja di ponsel saya (Galaxy s1 I9000 V2.3) tetapi ketika saya mengujinya di Galaxy s2 v4, bilah tindakan juga muncul di layar splash dan di layar peta.
Aktivitas spalsh dan peta bahkan tidak mewarisi dari ActionBarActivity jadi bagaimana mungkin dan bagaimana cara menghilangkannya?
Nyata:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:theme="@style/Theme.AppCompat.Light" >
<activity
android:name=".HomeActivity"
android:icon="@drawable/android_logo"
android:label=""
android:logo="@drawable/android_logo" >
<!--
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
-->
</activity>
<activity
android:name=".MapActivity"
android:label="" >
</activity>
<activity
android:name=".PackageActivity"
android:icon="@drawable/android_logo"
android:label=""
android:logo="@drawable/android_logo" >
</activity>
<activity
android:name=".SplashActivity"
android:label="" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Definisi MapActivity (ini panjang jadi saya hanya menyertakan definisinya):
public class MapActivity extends FragmentActivity implements LocationListener
Aktivitas Percikan:
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
public class SplashActivity extends Activity{
private static final long SPLASH_DISPLAY_LENGTH = 2000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
new Handler().postDelayed(new Runnable(){
@Override
public void run() {
Intent mainIntent = new Intent(SplashActivity.this,HomeActivity.class);
SplashActivity.this.startActivity(mainIntent);
SplashActivity.this.finish();
}
}, SPLASH_DISPLAY_LENGTH);
}
}
java
android
android-actionbar
Tomer
sumber
sumber
getActionBar
karena aktivitas tidak diwarisi dariActionBarActivity
<item name="android:windowActionBar">false</item>
bukankah itu akan menyembunyikannya di semua layar?Saat Anda bertanya tentang cara bersembunyi di file aktivitas tertentu , inilah yang Anda butuhkan:
sumber
1. Pergi ke
manifest.xml
file .2.
Find
yangactivity tag
yang Anda ingin menyembunyikan ActionBar Anda dan kemudianadd
,sumber
Jika Anda ingin mendapatkan layar penuh tanpa actionBar dan Judul.
Tambahkan di style.xml
dan gunakan gaya pada aktivitas manifest.xml.
sumber
The
ActionBar
biasanya ada di sepanjangFragments
sehingga dariActivity
Anda dapat menyembunyikannyadan dari
Fragment
Anda bisa melakukannyasumber
getSupportActionBar().hide();
di ActionBarActivityJika Anda menggunakan Theme.AppCompat.Light, padanan yang lebih baik adalah Theme.AppCompat.Light.NoActionBar.
Saya menemukan bahwa menggunakan Theme.AppCompat.NoTitleBar menyebabkan teks tombol saya tidak terlihat jadi saya menggunakan Theme.AppCompat.Light.NoActionBar.
sumber
Ini berhasil untuk saya! Taruh ini di Aktivitas Anda dalam manifes
Anda juga dapat membuat tema kustom Anda di styles.xml seperti ini:
Semoga bantuan ini.
sumber
Anda dapat menggunakan mode Profil Rendah Lihat di sini
Cari saja
SYSTEM_UI_FLAG_LOW_PROFILE
itu juga meredupkan tombol navigasi jika ada di layar.sumber
Jawaban di atas akan membantu hal ActionBar. Untuk menambahkannya, gunakan kode berikut jika Anda menggunakan Splash Screen: Gunakan ini sebelum Anda mengatur tampilan konten:
Hanya untuk memperjelas, berikut cara Anda melakukannya:
Ini akan membuat layar Anda menjadi layar penuh, yaitu menghapus bilah atas tempat Anda melihat bilah jaringan, dll
sumber
Terapkan yang berikut ini di Tema Anda untuk Aktivitas di AndroidManifest.xml:
Kemudian Terapkan yang berikut ini dalam Gaya Anda di style.xml
sumber
// Sembunyikan ActionBar di atas
// Tambahkan kode ini ke dalam file java
sumber
Ini berfungsi di API 27
Di styles.xml ganti kode ke yang berikut ini ....
Kemudian di file (mis. Activity_list.xml) di mana Anda ingin memiliki toolbar, masukkan kode berikut.
Jika Anda memiliki masalah beralih ke tata letak linier (karena kode ini diuji pada)
sumber
Dari sini :
Jadi salah satu opsinya adalah menonaktifkan ActionBar sepenuhnya (di file manifest.xml aplikasi) dan kemudian menambahkan Toolbar di setiap halaman yang membutuhkan ActionBar.
(ikuti tautan di atas untuk penjelasan langkah demi langkah)
sumber
Ganti AndroidManifest.xml
untuk
sumber
Tambahkan Gaya Baru di style.xml Anda
dan kemudian tambahkan baris berikut di manifes Anda
sumber
Periksa atribut padding jika masalah masih ada setelah mengganti tema.
Masalah Padding membuat ruang putih di atas jendela fragmen / jendela aplikasi
Setelah Anda menghapus padding - nilai teratas secara otomatis ruang putih dihapus.
sumber