Sto impostando una visualizzazione personalizzata in una barra delle azioni. Riempie la larghezza della barra delle azioni quando si utilizza la barra delle azioni dell'SDK, ma non quando si utilizza la versione app. Perché il layout lineare non riempie la larghezza quando si utilizza appcompat e barra degli strumenti? E cosa posso fare a riguardo?Perché la mia barra delle azioni personalizzata non visualizza "confronta padre" quando si utilizza appcompat e barra degli strumenti?
Ecco quello che sembra pre-appcompat:
Ed ecco quello che sembra con appcompat. (Il colore rosso indica l'entità del mio punto di vista personalizzato.):
Edit: Ecco come appare utilizzando @ esplicito punta il layout params di Seidan. (Da testo nero dove dovrebbe essere bianco):
Ecco il mio layout personalizzato:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:background="#800"
>
<FrameLayout
android:id="@+id/actionbar_discard"
style="?attr/actionButtonStyle"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
>
<TextView
style="?android:actionBarTabTextStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:drawableLeft="@drawable/ic_close_white_24dp"
android:drawablePadding="8dp"
android:gravity="center_vertical"
android:paddingRight="20dp"
android:text="@string/actionbar_cancel" />
</FrameLayout>
<FrameLayout
android:id="@+id/actionbar_done"
style="?attr/actionButtonStyle"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" >
<TextView
style="?android:actionBarTabTextStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:drawableLeft="@drawable/ic_check_white_24dp"
android:drawablePadding="8dp"
android:gravity="center_vertical"
android:paddingRight="20dp"
android:text="@string/actionbar_done" />
</FrameLayout>
</LinearLayout>
Ed ecco come sto impostando la barra delle azioni:
ActionBar ab = getSupportActionBar();
ab.setDisplayHomeAsUpEnabled(false);
ab.setDisplayOptions(
ActionBar.DISPLAY_SHOW_CUSTOM,
ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE);
ab.setCustomView(R.layout.actionbar_discard_done);
Sia appcompat-v7: 22.0.0 che il nuovo appcompat-v7: 22.1.0 presentano questo problema.
hai controllare questa risposta http://stackoverflow.com/a/16652485/1880784 ?. – Seidan
Hmm. Che funzioni! Ma ora il mio testo è in stile sbagliato. (Devo gonfiare la mia vista personalizzata ora piuttosto che passare l'ID. Suppongo che qualche contesto o tema non sia impostato correttamente.) –