C'è un ActionBar
su ogni applicazione Android 4.0 e ha ottenuto un titolo. Devo rendere questa taglia di meno. Ma non capisco come posso farlo, perché ActionBar
non fornisce metodi pubblici per questo. Nota: Non voglio utilizzare visualizzazioni personalizzate.Come modificare la dimensione del testo del titolo nella barra delle azioni?
risposta
La dimensione del testo in Android ActionBar è standard.
Dal momento che ICS, Android ora sviluppa uno standard in modo che le applicazioni (si spera) seguano le stesse linee guida dell'interfaccia utente e principi di progettazione.
http://developer.android.com/guide/practices/ui_guidelines/index.html
Per questo non si può cambiare.
Tuttavia, se si vuole ancora di farlo, si potrebbe usare un tema personalizzato o forse implementare ActionBar (una forchetta) e modificare le sue fonti: https://github.com/johannilsson/android-actionbar per ottenere il massimo controllo.
Si potrebbe. Ma non dovresti. Il Chrome di Android è progettato da professionisti dell'interfaccia utente che studiano come un utente interagisce con un dispositivo e ottimizzano l'aspetto e il posizionamento di tutti gli elementi dell'interfaccia utente per facilitare una buona interazione. La modifica del Chrome renderà un'app meno utilizzabile e frustrante per gli utenti. – 323go
In realtà, puoi fare ciò che desideri personalizzare l'ActionBar. Deve essere fatto attraverso il tema. Si può fare qualcosa di simile:
<style name="Theme.YourTheme" parent="android:style/Theme">
<item name="android:actionBarStyle">@style/Theme.YourTheme.Styled.ActionBar</item>
</style>
<style name="Theme.YourTheme.Styled.ActionBar">
<item name="android:titleTextStyle">@style/Theme.Viadeo.Styled.YourTheme.TitleTextStyle</item>
</style>
<style name="Theme.YourTheme.Styled.ActionBar.TitleTextStyle" parent="@android:style/Widget.TextView">
<item name="android:textSize">12sp</item>
</style>
Grazie Aurélien!Dovresti considerare di usare sp inshead di dp per le dimensioni del testo ;-) – gingo
hai ragione :) –
Invece di codificare hardcoded di qualsiasi dimensione, puoi considerare di ereditare da 'parent =" @ android: style/TextAppearance.Large ". Ciò ti darà la dimensione standard del testo più grande, indipendentemente dal dispositivo in cui ti trovi. –
Si può sempre fare qualcosa di simile:
ActionBar actionBar = getActionBar();
actionBar.setTitle(Html.fromHtml("<small>YOUR TITLE</small>"));
sul mio sistema, res/stili AppTheme ha una nota dicendo
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
e questo è lo stile indicato in AndroidMainfest.xml. Ho aggiunto
<item name="android:textSize">15sp</item>
e ha funzionato e preferisco farlo che un ActionBar personalizzato.
Ho seguito questo metodo per saltare la creazione di stile personalizzato:
- creare un layout personalizzato con la dimensione del testo richiesto e
- applicare tale alla tua barra delle operazioni.
1) Creare un file di layout (titlebar.xml):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/action_bar_title"
android:text="@string/app_name"
android:textColor="@color/colorPrimary"
android:textSize="24sp" />
</LinearLayout>
Qui impostare il textSize richiesto.
2) MainActivity.java
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); //bellow setSupportActionBar(toolbar);
getSupportActionBar().setCustomView(R.layout.titlebar);
speranza che questo aiuti.
Bella soluzione pulita qui: http://stackoverflow.com/a/29266326/1617737 –