Używam PreferenceActivity, w jaki sposób mogę ustawić niestandardowy pasek tytułu? Nie tylko tekst, ale kolor tła, rozmiar - cały układ.Ustawianie niestandardowego paska tytułu w PreferenceAcivity
Odpowiedz
PreferenceActivity extends ListActivity
, a kiedy nadmuchać preferencje z xml z addPreferencesFromResource()
, stawia towar do standardowych ListView
że ListActivity
zastosowań.
W zasadzie można użyć setContentView()
do określenia układu, ale trzeba mieć w nim ListView
o identyfikatorze "@+android:id/list"
.
Więc za pomocą przykładowy kod kleini za:
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.login_settings);
setContentView(R.layout.login_settings_layout);
}
musisz ListView w login_settings_layout.xml
, który wygląda mniej więcej tak:
<ListView
android:id="@+android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
public class Preferences extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
super.onCreate(savedInstanceState);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_bar);
}
}
Próbowałem to, ale to nie działa. Nic nie zmienia. – fhucho
To nie działa dla PreferenceActivity, ale działa dobrze dla innych działań ... –
Awesome, pracował w porządku dla "NO_TITLE":
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.login_settings);
setContentView(R.layout.login_settings_layout);
}
Czy możesz przesłać login_settings_layout.xml? – fhucho
Albo tak:
@Override
public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
super.onCreate(savedInstanceState);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.customtitlebar);
addPreferencesFromResource(R.xml.preferences);
}
Z customtitlebar .xml w ten sposób:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/customTitleBar"
android:layout_width="match_parent"
android:layout_height="match_parent"
style="@style/CustomWindowTitle">
</TextView>
Metoda Bena dobrze się sprawdziła !!. Oto kod
public class PreferenceCustomTitleActivity extends PreferenceActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preference);
/** Customize your background, textsize, cachetint, dividers
for your list view in the xml **/
setContentView(R.layout.layout_with_simple_listview_only);
ListView list = (ListView) findViewById(android.R.id.list);
View preferenceHeader = getLayoutInflater().inflate(
R.layout.preference_header, null);
list.addHeaderView(preferenceHeader);
}
}
jak zmienić tekst? –
Jest to jedyna rzecz, która pracowała dla mnie. Reszta powyższych rzeczy nie przyniosła pożądanych wyników na moim tabletie 4.3 Nexus.
Naprawdę nie mogłem odtworzyć odpowiedniego paska czynności, takiego jak widżet, ale udało mi się umieścić duży tytuł "Ustawienia" na wierzchu PreferenceActivity, wykonując poniższe czynności.
Dostałem podpowiedź od innej odpowiedzi od stackoverflow i po prostu robię to bardziej rozbudowanym.
W klasie PreferenceActivity (usunąć istniejący pasek tytułowy)
public class Settings extends PreferenceActivity· { ... @Override public void onCreate(Bundle savedInstanceState) { requestWindowFeature(Window.FEATURE_NO_TITLE); // This goes first super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.settings);
W res/XML/settings.xml, chciałbym zwrócić uwagę na pierwsze PreferenceCategory
<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:layout="@layout/settings_titlebar" /> <PreferenceCategory android:title="Notifications"> <Preference .....
W res/layout/settings_titlebar.xml
Navals-MacBook-Pro: ver_ui_0.2 Naval $ vi RES/Układ/settings_titlebar.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/header_background"
android:enabled="false">
<TextView android:src="@drawable/logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:background="@android:color/transparent"
android:padding="4dip"
android:text="Settings"
android:textSize="32sp"
/>
</RelativeLayout>
- 1. Programowalne ustawianie paska tytułu i kolorów obramowania
- 2. Rozmiar tytułu tytułu paska nawigacyjnego
- 3. Ustawianie "tytułu" kontrolera UIPopoverController?
- 4. Ikona paska tytułu WinApp
- 5. Jak uzyskać wysokość tytułu paska tytułu WinForm?
- 6. Dostosowywanie paska tytułu i okna
- 7. Zmiana tytułu paska nawigacji programowo
- 8. Usuwanie paska tytułu aplikacji Android
- 9. Usuwanie paska tytułu w Windows Forms
- 10. Zmienianie tytułu paska zakładek w Androidzie
- 11. Nie można połączyć niestandardowego tytułu z innymi cechami tytułu
- 12. Ustawianie pozycji paska przewijania ListBox
- 13. Definiowanie niestandardowego paska narzędzi CKEditor
- 14. Android: Problem z ukrywaniem paska tytułu
- 15. Jak zmienić kolor paska tytułu bez motywu?
- 16. Aplikacja konsoli C++, ukrywanie paska tytułu
- 17. Przycisk zamykania qtip2 bez paska tytułu
- 18. QT4 Przeciągnij okno bez paska tytułu
- 19. Dodaj przycisk do paska tytułu okna
- 20. Ustawianie etykietę dostępności na UITabBarItem bez tytułu
- 21. xcode4.2.1 - storyboard - Kontroler nawigacyjny - Kolor paska tytułu
- 22. Dostosowywanie obszaru paska tytułu aplikacji konsoli
- 23. Tworzenie niestandardowego paska narzędzi w Androidzie
- 24. Ustawianie niestandardowego rozmiaru projektu dla kontrolera UITabView (w Storyboard)
- 25. Jak zmienić kolor tytułu paska akcji w kodzie
- 26. Jak ukryć nazwę aplikacji z paska tytułu w systemie Android?
- 27. Zmiana czcionki tytułu paska nawigacyjnego w konstruktorze interfejsów
- 28. Grube okno paska tytułu w kakao, podobne do iTunes
- 29. Ustawianie niestandardowego komunikatu o błędzie z CarrierWave
- 30. Dodawanie niestandardowego przycisku do paska narzędzi KendoGrid
'@ + android: id/list' powinien być' @android: id/list' – mwieczorek