2015-05-14 21 views
3

我正在構建一個小型Android應用程序,並且希望整個應用程序和所有文本的字體無論在哪裏都是Roboto,而不必改變它。到目前爲止,我能找到的答案並沒有幫助我。在Android Studio中爲我的應用程序設置Roboto爲我的全球字體

我創建了一個assets文件夾和一個字體文件夾,但我不想一次又一次地將它導入到每個activity/textview中。

有沒有一種方法可以做到這一點?

回答

2

答案是肯定的。

用於TextView和Buttonclasses的全局Roboto指示燈。

<style name="AppTheme" parent="AppBaseTheme"> 
    <item name="android:textViewStyle">@style/RobotoTextViewStyle</item> 
    <item name="android:buttonStyle">@style/RobotoButtonStyle</item> 
</style> 

<style name="RobotoTextViewStyle" parent="android:Widget.TextView"> 
    <item name="android:fontFamily">sans-serif-light</item> 
</style> 

<style name="RobotoButtonStyle" parent="android:Widget.Holo.Button"> 
    <item name="android:fontFamily">sans-serif-light</item> 
</style> 

只需選擇從列表中的themes.xml想那麼在原有基礎上創建自定義風格樣式。最後,將風格作爲應用程序的主題。

<application android:theme="@style/AppTheme" > </application> 

它將只能與類似的Roboto內置字體,但是這是問題。對於自定義字體(例如從資產加載),此方法不起作用。

你可以在你的XML文件中使用這個文本視圖類。看看這個帖子 https://stackoverflow.com/a/16406494/1841777

1

好的,我找到了我的問題的答案,也是我不明白之前發佈的答案的原因。

1)您想修改該文件是全球styles.xml中發現: 主要>水庫>值> style.xml

如果你已經在設計中選擇了一個主題爲您的應用程序您的主要活動的窗口,該文件將包含:

<resources> 

    <!-- Base application theme. --> 
    <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"> 
     <!-- Customize your theme here. --> 

</resources> 

正如評論所述,您可以自定義您的應用程序。

添加你想要的風格,像tomrozb的回答提示: https://stackoverflow.com/a/16407123/3910425

然後將主題添加到AndroidManifest.xml中,如果它已不存在。

<application android:theme="@style/AppTheme" > 

零件AppTheme對應於styles.xml中的樣式名稱。

我最大的問題是我不知道要添加什麼文件。所以現在我明白了,我希望別人也能找到這個有用的東西:)

相關問題