2012-07-16 31 views
5

我已經搜索了Stackoverflow和谷歌,我發現的是那些希望字體保持相同尺寸但希望它們在屏幕變大時變大的人的答案。在較大的屏幕上使字體變大

具體來說,我想在我的應用程序中使用非常大的字體。在我的手機上,它們是1/2英寸高的完美。我的問題是,在我的7英寸平板電腦上,它們也是1/2英寸高,我希望它們能夠放大並達到約1英寸高。我已經嘗試過sp和dp模式,並且都只是保持字體相同的物理高度,這不是我想要的。我發現3.2和更高版本的平板電腦有一些新的功能,但我想支持2.3或更高版本的設備。我已經看到複雜的代碼說它會自動縮放字體以適應寬度的文本,但這不是我所需要的。我希望字體與手機上的100sp和平板電腦上的200sp相當。我沒有圖形和簡單的相對佈局,屏幕上只有很少的元素。我只需要爲大屏幕製作幾個更大的文字。我認爲這很簡單,但我找不到它。

這裏是一個典型的文本視圖項

<TextView 
    android:id="@+id/textDistance" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/labelDistance" 
    android:layout_centerHorizontal="true" 
    android:text="" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:textColor="#ffffff" 
    android:textSize="100sp" /> 

有一個相對簡單直接的方式做到這一點?

回答

5

「dp」或「dip」尺寸 - 專門爲不同屏幕上的相同而設計。所以,你的任務沒有任何特殊的維度。

爲了實現不同的文本大小,您必須創建多個樣式,並將它們放入文件夾values-xlarge,values-large,values-normalvalues-small

一種的樣式看起來是這樣的:

<style name="BigTextStyle"> 
    <item name="android:textSize">50dp</item> <!-- different values in different folders --> 
</style> 

而在你的文本視圖只是提供樣式的引用:

<TextView 
    style="@style/BigTextStyle" 
    ... 
/> 
+0

我能得到多一點的這個解決方案,它看起來不錯。我有兩個文件夾「values」和「values-large」「values」有dimens.xml,strings.xml和styles.xml。 「values-large」只有一個dimens.xml文件。我假設你建議我創建新的文件夾,其中一個是「values-xlarge」,然後我將其中的一個dimens.xml文件夾。我在哪裏放置