2015-08-10 19 views
5

Moje pozycje menu stają się czerwone, 10sp, a tło jest białe, ale nie działa pogrubienie textStyle. Dlaczego to?Ustawienie pogrubienia czcionek menu paska narzędzi appcompat

styles.xml

<style name="toolbarMenuTheme"> 
    <item name="android:colorBackground">@color/white</item> 
    <item name="android:textColor">@color/red</item> 
    <item name="android:textSize">10sp</item> 
    <item name="android:textStyle">bold</item> 
</style> 

Fragment z mojego układu.

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="48dp" 
     android:layout_marginTop="-5dp" 
     android:background="@color/white" 
     android:theme="@style/toolbarMenuTheme"/> 

I moje napompowane układ.

<item 
    android:id="@+id/web_view_reload" 
    android:icon="@drawable/replay" 
    android:title="Reload" 
    app:showAsAction="always"/> 
<item 
    android:id="@+id/web_view_action" 
    android:icon="@drawable/stack_icon_on" 
    android:title="Stack" 
    app:showAsAction="always"/> 
<item 
    android:id="@+id/web_view_screenshot" 
    android:icon="@drawable/screenshot" 
    android:title="Screenshot" 
    app:showAsAction="always"/> 
<item 
    android:id="@+id/web_view_share" 
    android:title="SHARE WEBSITE"/> 
<item 
    android:id="@+id/web_view_copy_url" 
    android:title="Copy URL"/> 

pompowania w Javie przez:

Toolbar toolbar = (Toolbar) view.findViewById(R.id.toolbar); 
    toolbar.setNavigationIcon(R.drawable.x); 
    toolbar.inflateMenu(R.menu.web_view_toolbar_menu); 

i ustawienie kliknij słuchacze:

toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { 
    @Override 
    public boolean onMenuItemClick(MenuItem item) { 
     .... 
    } 
} 

Edit po komentarzach

Oto mój pełny styles.xml

Styles.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="CustomUITheme" parent="@style/Theme.AppCompat.Light.NoActionBar"> 
     <item name="android:windowNoTitle">true</item> 
     <item name="android:windowActionBar">false</item> 
     <item name="windowActionBar">false</item> 

     <item name="android:windowBackground">@color/milky</item> 

     <!--item name="android:textSelectHandle">@drawable/text_select_handle_middle</item> 
     <item name="android:textSelectHandleLeft">@drawable/text_select_handle_left</item> 
     <item name="android:textSelectHandleRight">@drawable/text_select_handle_right</item--> 
     <item name="colorPrimary">@color/toolbar_bg</item> 
     <item name="colorPrimaryDark">#ff404040</item> 
     <item name="colorAccent">@color/accent</item> 
     <item name="android:textColorHighlight">@color/text_highlight</item> 

     <!--item name="alertDialogTheme">@style/AppCompatAlertDialogStyle</item--> 
    </style> 

    <style name="toolbarMenuTheme" parent="TextAppearance.Widget.AppCompat.Toolbar.Title"> 
     <item name="android:colorBackground">@color/white</item> 
     <item name="android:textColor">@color/red</item> 
     <item name="android:textSize">10sp</item> 
     <item name="android:textStyle">bold</item> 
    </style> 

    <style name="AppCompatAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert"> 
     <item name="android:background">#FFFFFF</item> 
     <item name="android:windowNoTitle">true</item> 
    </style> 

    <!--style name="CustomActionBar" 
     parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse"> 
     <item name="android:background">@color/toolbar_bg</item> 
    </style--> 

    <style name="captionOnly"> 
     <item name="android:background">@null</item> 
     <item name="android:clickable">false</item> 
     <item name="android:focusable">false</item> 
     <item name="android:minHeight">0dp</item> 
     <item name="android:minWidth">0dp</item> 
    </style> 

    <!-- FAB --> 
    <style name="FloatingActionButton" parent="android:Widget.ImageButton"> 
     <item name="floatingActionButtonSize">normal</item> 
    </style> 

    <!-- empty states --> 
    <style name="empty_title"> 
     <item name="android:textSize">10dp</item> 
    </style> 

    <style name="empty_details"> 
     <item name="android:textColor">#999999</item> 
     <item name="android:textSize">8dp</item> 
    </style> 
</resources> 

Odpowiedz

7

Dodaj następujący w pliku styles.xml

<style name="ActionBar.nameText" parent="TextAppearance.AppCompat.Widget.ActionBar.Title"> 
     <item name="android:textColor">@color/PrimaryTextColor</item> 
     <item name="android:textSize">18sp</item> 
     <item name="android:textStyle">bold</item> 
    </style> 

Nazwa styl i rodzic może różnić się w twoim przypadku, ale wziąć koncepcję bold

EDIT

Użyj następującego w toolbar.xml

<android.support.v7.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:companyApp="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="?actionBarSize" 
    companyApp:theme="@style/ActionBarThemeOverlay" 
    companyApp:titleTextAppearance="@style/ActionBar.nameText"> 
</android.support.v7.widget.Toolbar> 

I w styles.xml

<style name="ActionBarThemeOverlay" parent=""> 
     <item name="android:textColorPrimary">@color/PrimaryTextColor</item> 
     <item name="colorControlHighlight">@color/BackgroundColor</item> 
     <item name="android:actionMenuTextColor">@color/PrimaryTextColor</item> 
     <item name="android:textColorSecondary">@color/PrimaryTextColor</item> 
     <item name="android:background">@color/PrimaryBackgroundColor</item> 
    </style> 

I na Androidzie anifest.xml

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@android:style/Your Theme"> 
+0

Wygląda na to, że powinno to być, ale dostaję błąd, próbując nadmuchać klasę po dodaniu rodzica. Jak zdecydować, z jakiego rodzica powinienem skorzystać? – nilsi

+0

To zależy od tego, z czego korzystasz. Czy możesz pokazać mi swój pełny plik styles.xml? – Nabin

+0

Użyj dokładnie __name__ dla stylu tak jak mój – Nabin

0

Toolbar

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="48dp" 
    android:layout_marginTop="-5dp" 
    android:background="@color/white" 
    android:theme="@style/toolbarMenuTheme" 
    app:titleTextAppearance="@style/Toolbar.TitleText" /> 

In Style.xml

<style name="Toolbar.TitleText" parent="TextAppearance.Widget.AppCompat.Toolbar.Title"> 
    <item name="android:textStyle">bold</item> 
</style> 

do podręcznego menu

<style name="myPopupMenuTextAppearanceLarge" parent="@android:style/TextAppearance.DeviceDefault.Widget.PopupMenu.Large"> 
    <item name="android:textColor">@color/color_dark_grey</item> 
    <item name="android:textStyle">bold</item> 
</style> 
+0

Dzięki, próbowałem tego, ale nadal nie jest pogrubiony. – nilsi

0

przypadku dokonywania tytuł pasek narzędzi pogrubione w tym przypadku jest to bardzo proste wystarczy skorzystać z zasobu ciąg i umieścić „” tag, który sprawi, że tekst pogrubiony . Ale w przypadku innych stylów niż pogrubienie i kursywa lub pogrubienie kursywa rozważ użycie pliku styles.xml, dostosowując odpowiednio do swoich potrzeb.

0

Można spróbować tego w activity.java aby Zwinięty Tytuł BOLD

final CollapsingToolbarLayout collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.collapsing_container); 

collapsingToolbarLayout.setCollapsedTitleTypeface(Typeface.DEFAULT_BOLD); 
2

Dlaczego nie spróbować tego

Również w ten sposób można ustawić części tekstu pogrubienie

Screenshot

getSupportActionBar().setDisplayShowTitleEnabled(true); 
SpannableStringBuilder str = new SpannableStringBuilder("HelloWorld"); 
str.setSpan(new android.text.style.StyleSpan(android.graphics.Typeface.BOLD), 5, 10,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
getSupportActionBar().setTitle(str); 

wyjściowa będzie Witam Świat

W przypadku, gdy chcesz cały tekst będzie pogrubiony, wystarczy użyć tej

str.setSpan(new android.text.style.StyleSpan(android.graphics.Typeface.BOLD), 0, 10,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

wyjście będzie HelloWorld

Powiązane problemy