Android uygulamamın tercih ekranının görünümünü koyu metin rengine değiştirmek istiyorum. Bunu nasıl yapabilirim? (Önceden arka planı beyaz renk olarak değiştirdim)Change PreferenceAktivite text color
cevap
PreferenceActivity
'u genişleten bir Etkinlik kullandığınızı varsayalım. Tercih ekranınızda özel bir tema ayarlamak için setTheme
yöntemini kullanabilirsiniz. Sadece birini res/values/themes.xml
'da tanımlayın.
Bu şuna benzer:
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="Theme.DarkText">
<item name="android:textColor">#000000</item>
</style>
</resources>
Ardından Faaliyetinizdeki ayarlayın:
setTheme(R.style.Theme_DarkText);
Ben Udinic fikrini aldı, ama bunu biraz düzeldi. Artık (bu durumda) PreferenceCategory öğesinin rengini, yalnızca görünümü şişirirken değil, herhangi bir zamanda ayarlamak mümkündür.
Nasıl Yapılır?
Birincisi, bunun gibi özelleştirilmiş bir sınıf oluşturmak: o yapılır
import android.content.Context;
import android.preference.PreferenceCategory;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class MyPreferenceCategory extends PreferenceCategory {
private TextView categoryTitle;
public PincardPreferenceCategory(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public PincardPreferenceCategory(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
public PincardPreferenceCategory(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
}
@Override
protected View onCreateView(ViewGroup parent) {
categoryTitle = (TextView)super.onCreateView(parent);
return categoryTitle;
}
public void setBackgroundColor(int color) {
categoryTitle.setBackgroundColor(color);
}
public void setTextColor(int color) {
categoryTitle.setTextColor(color);
}
}
sonra, XML ayarlarınızı tanımlarken kullanmak zorunda.
Eğer sadece java preferenceActivity bu döngü kullanmak zorunda sonra: İşte
for (int i = 0; i < getListView().getCount(); i++) {
Object view = getListView().getItemAtPosition(i);
if (view instanceof PincardPreferenceCategory) {
((PincardPreferenceCategory)view).setBackgroundColor(Color.BLUE);
((PincardPreferenceCategory)view).setTextColor(Color.RED);
}
}
fikirdir. Herhangi bir ayarınızda ve istediğiniz zaman bunu yapabilirsiniz. Düzeni, bu kodu kullanmadan önce tamamen yüklenmiş olmalıdır, aksi halde getListView(). GetCount() 0 değerini döndürür. Eğer başlangıçta bunu yapmak istiyorsanız, bunu onWindowFocusChanged yönteminde yapmanızı öneririm.
Ekranın sığabileceği daha fazla öğe olduğunda işe yaramaz, çünkü ListView görünümü geri dönüşümü gerçekleştirir ve * all * görüntüleme oluşturmaz –
- 1. Backbone.js text change olayı
- 2. Change TextView text
- 3. Android: text color holo light
- 4. neden .on ('change') çalışmıyor?
- 5. jquery onclick change value22
- 6. jquery # color to rgba?
- 7. Değişim font color
- 8. ContextCompat.GetColor iade edilmiyor Color
- 9. change pgsql bağlantı noktası
- 10. Change ProgressBar.Horizontal belirsiz Davranış
- 11. Change Window.print() kağıt yönü
- 12. Gradient change checkstyle sürümü
- 13. Android color overlay - PorterDuff modları
- 14. background-color beyaz renkte kalır
- 15. Solarized Terminal Klasörü Color mac
- 16. subpime için phpstorm color scheme
- 17. jquery change etkinlik geri çağrısı
- 18. Change Calling Cell İç Renk
- 19. clion change default önbellek dizini
- 20. change thickness median line geom_boxplot()
- 21. Dinamik select2 tetiklenmiyor change olayı
- 22. jquery change onclick olay href
- 23. text underline - createLabel
- 24. Çalıştırmak için Force .change() işlevi - jQuery
- 25. CSS text-align: center;
- 26. jQuery text-shadow variabile alma
- 27. Jeffs VS Color Theme için Link?
- 28. Windows'ta gcc -fdiagnostics-color çalışıyor mu?
- 29. NSIS visual studio color/font/intellisense
- 30. jQuery Mobile background color değiştirilemiyor mu?
Metin rengini değiştirmek isterseniz * sonra * düzen oluşturulur? –
@MarioB Bu kod, EditTextPreference dışındaki tercihlerin başlık metni rengini değiştirebilir. EditTextPreference'ın başlığının adı (iletişim başlığı değil) adı nedir? – shantanu