2011-12-21 96 views
2

我已經閱讀了許多有關支持多種屏幕尺寸的文檔,但仍然感到困惑。 我讀過,如果在dp中指定它會自動縮放。所有屏幕尺寸的單一佈局

在我的示例中,我只有一個佈局。我已經放置了一個編輯文本。 並給定寬度,假設爲170 dp。假設寬度是5英寸手機模擬器的一半。我期待的是,如果我在7英寸或10英寸的平板電腦上展示它,那麼它也將是屏幕寬度的一半(即它會自動縮放)。但它沒有。在10英寸的平板電腦中,它只有非常小的尺寸。

我應該怎麼做,只有通過佈局XML(僅單個XML)

回答

1

學會使用權的佈局,您可以使用它們像100

<?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="match_parent" 
    android:orientation="horizontal" > 

    <TextView 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:layout_weight="50" 
     android:text="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" /> 

    <View 
     android:layout_width="0dip" 
     android:layout_height="0dip" 
     android:layout_weight="50" /> 

</LinearLayout> 

這裏TextView的佔用屏幕寬度和另一種觀點認爲50%的比例是一種無形的隔離佔用了另外50%的屏幕寬度。

它看起來像這樣(的Eclipse XML預覽):

TextView wrapping at 50%

正如你所看到的TextView的包裹當它到達屏幕的50%。處理所有尺寸的屏幕。

+0

這就是訣竅。謝謝。怎麼樣的文字大小?我們是否也可以同樣進行調整? – mia 2011-12-22 04:53:49

+0

不只是使用'sp'作爲文字大小 – Blundell 2011-12-22 13:09:13

+0

我曾嘗試過sp,但它的效果與我在我的問題中解釋的一樣。所以對於文本的情況下,我必須創建不同的風格,適合大和xlarge的權利?我不能使用單個xml實現它! – mia 2011-12-22 18:15:03

2

不要設置固定寬度,TextView的是Android將自動縮放它使用了正確的尺寸

  android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 

實現這一目標基本上,這會使TextView成爲設備寬度的完整大小,並將高度僅包裹到文本所需的高度。

如果需要,YOu也可以對warp_content寬度進行設置。這是最好的方法。如果您靜態設置它,則需要使用XML創建不同的佈局。

+0

對不起,但不能解答我的問題。或者這是一個限制。 – mia 2011-12-22 04:02:09