Android Teması arka plan rengini ayarlama


105

Varsayılan arka plan tema rengini değiştirmeye çalışıyorum, bu kolay olmalı ama şaşırtıcı bir şekilde çalışamıyorum. Lütfen değişikliğin yalnızca tek bir etkinlik için değil, uygulamanın tamamında olmasını istediğimi unutmayın. İşte kodum:

styles.xml

<resources>

    <color name="white_opaque">#FFFFFFFF</color>
    <color name="pitch_black">#FF000000</color>

    <style name="AppTheme" parent="android:Theme.Light">
        <item name="android:background">@color/white_opaque</item>
        <item name="android:windowBackground">@color/white_opaque</item>
        <item name="android:colorBackground">@color/white_opaque</item>
    </style>

</resources>

ve tabii ki manifestoda

<application
    .
    .
    .
    android:theme="@style/AppTheme" > 
</application>

Temaları değiştirme konusunda başvurduğum Android dokümanı: http://developer.android.com/guide/topics/ui/themes.html

Tüm xml nitelikleri için white_opaque ve pitch_black arasında geçiş yapmayı denedim ama bu hiçbir şeyi değiştirmiyor. Baska öneri?


1
Alfa kanalını kaldırmayı deneyin
Blundell

Tamam ben yaptım, yine de aynı.
Stark

1
Bu okuduğum en iyi çözüm stackoverflow.com/a/33213433/963543
Ata Iravani

Yanıtlar:


58

Tamam, gerçekten aptalca bir hata yaptığım ortaya çıktı. Test için kullandığım cihaz Android 4.0.4, API seviyesi 15 çalıştırıyor.

Düzenlemekte olduğum styles.xml dosyası varsayılan değerler klasöründe. Styles.xml'yi values-v14 klasöründe düzenledim ve şimdi her şey yolunda.


4
Veya kullanmıyorsanız diğer stiller klasörlerini silebilirsiniz. Aynı sorunu yaşadım ve 'değerler' klasöründeki bir styles.xml ile düzelttim. Benim sorunum, manifest dosyasında Aktivite için bir tema öğem olmasıydı (ki bu tabii ki AppTheme'yi geçersiz kılıyordu).
Stephen Hosking

28
<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="android:Theme.Holo.NoActionBar">
        <item name="android:windowBackground">@android:color/black</item>
    </style>

</resources>

5

Açın res -> values -> styles.xmlve <style>bu satırı resim yolunuzla değiştirerek ekleyin <item name="android:windowBackground">@drawable/background</item>. Misal:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:windowBackground">@drawable/background</item>
    </style>

</resources>

Ayrıca, <item name ="android:colorBackground">@color/black</item>yalnızca ana pencere arka planınızı değil, uygulamanızdaki tüm bileşenleri etkileyecek bir de vardır . Temayı özelleştirme hakkında buradan bilgi edinin .

Sürüme özel stiller istiyorsanız :

Android'in yeni bir sürümü, kullanmak istediğiniz tema özelliklerini eklerse, eski sürümlerle uyumlu olmaya devam ederken bunları temanıza ekleyebilirsiniz. İhtiyacınız olan tek şey, kaynak sürüm niteleyicisini içeren bir değerler dizinine kaydedilmiş başka bir styles.xml dosyasıdır. Örneğin:

res/values/styles.xml        # themes for all versions
res/values-v21/styles.xml    # themes for API level 21+ only

Values ​​/ styles.xml dosyasındaki stiller tüm sürümler için mevcut olduğundan, values-v21 / styles.xml'deki temalarınız onları devralabilir. Bu nedenle, bir "temel" temayla başlayıp ardından sürüme özgü stillerinize göre genişleterek stilleri yinelemekten kaçınabilirsiniz.

Daha fazlasını buradan okuyun (temalı belge) .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.