Come utilizzare lo stile di titolo della finestra predefinito di androids per rendere il mio simile TextView
?Creazione di una vista titolo personalizzata da impostazioni predefinite su Android
Ho fatto un sacco di ipotesi e ho creato un TextView che ha tutto ciò che ha la barra del titolo predefinita, ad eccezione dell'ombra del testo (e qualche padding/margini ecc.).
Ecco in sostanza, che cosa ho provato:
MainUI.xml
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_bar);
}
title_bar.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myTitle"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:textAppearance="@android:style/TextAppearance.WindowTitle"
android:background="@android:drawable/title_bar"
android:text="This is my new title" />
Modifica:
ho trovato alcuni articoli correlati interessanti allo makemachine e anddev.
Anche se non mi piace, ho copiato alcuni attributi dall'implementazione style.xml.
C'è un modo per evitare di copiare gli attributi in questo modo statico?
Il rendering seguente è quasi perfetto, la differenza è infatti che l'originale ha "tagliato" i primi 2-3 pixel dell'ombra del titolo, mentre il mio TextView
non lo fa.
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myTitle"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:gravity="center_vertical"
android:shadowColor="#BB000000"
android:shadowRadius="2.75"
android:singleLine="true"
android:textAppearance="@android:style/TextAppearance.WindowTitle"
android:background="@android:drawable/title_bar"
android:text="This is my new title" />
E 'anche importante per ignorare l'androide di default: windowTitleBackgroundStyle con un colore trasparente, in quanto il valore di default include alcuni padding ecc che non si desidera essere avvolgendo il barra del titolo personalizzato.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CustomTheme" parent="android:Theme">
<item name="android:windowTitleBackgroundStyle">@android:color/transparent</item>
</style>
</resources>
Ricordate di attivare il tema nel vostro AndroidManifest.xml
Non capisco quello che stai cercando di fare. Sei disposto a copiare la barra del titolo predefinita fatta da Android? – Macarse
Sì, finché posso modificarlo. Voglio che la barra del titolo di funzionare anche come una barra di avanzamento :-) – Steinbitglis
non so se questo aiuterà o no, ma [RomManager] (https://market.android.com/details?id=com.koushikdutta.rommanager&hl= en) fa che quando si va a scaricare rom, la barra del titolo si riempie di colore grigio da sinistra a destra come si sta caricando. se lo esegui mentre stai eseguendo il visualizzatore di gerarchia, puoi vedere che hanno la barra di avanzamento e il cerchio del progresso. –