2011-06-01 51 views
0

我有一個正方形的圖像...在佈局中,我想在正方形內設置文本,所以我將屬性邊距底部100dp設置爲'TextView',在HDPI手機中我的文本是正方形。這很酷。但是,當我在MDPI設備上運行我的應用程序時,文本看起來應該高一點。Android:TextView保證金底部

其可理解,因爲MDPI和HDPI有不同的分辨率......那麼該怎麼做?如何設置文本,使其外觀在兩個設備上都成比例?

+0

你用什麼單位設置文字大小?如果使用dip(密度獨立像素),則文本大小將按比例相同。 – 2011-06-01 14:05:48

+0

文字大小?我們不是在談論文字大小.... – Jim 2011-06-01 14:15:51

回答

1

你爲什麼不只是包裝的圖像和文本的FrameLayout內,並給TextView的一個layout_gravity="center"屬性?用你目前的方法,不同的縱橫比會給你不同的定位。

+0

我的廣場在圖像不在中心... – Jim 2011-06-01 14:16:34

+1

你想疊加到圖像的特定部分?在這種情況下,你可能只想給TextView一個''top | left''的layout_gravity,''center''的重力',並找到正確的像素x,y座標,正方形的大小像素,並給你的TextView的寬度和高度,左上邊距分別匹配x和y座標。 – kcoppock 2011-06-01 14:20:59

+0

真的,有可能有更好的方法來做到這一點。請添加更多詳細信息。您可能只需將圖像放在圖像上,然後只需給TextView一個背景就可以匹配。 – kcoppock 2011-06-01 14:21:43

1

在這種情況下,您可以使用FrameLayout。下面是一個簡單的例子:

<FrameLayout 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:background="#ff0000"> 

    <ImageView 
     android:layout_height="100dp" 
     android:layout_width="100dp"    
     android:background="#00ff00" 
     android:src="@drawable/icon" 
     android:scaleType="fitXY" /> 

    <TextView 
     android:layout_height="100dp" 
     android:layout_width="100dp"    
     android:gravity="center" 
     android:text="This is text" 
     android:textColor="#0000ff"/> 

</FrameLayout> 

enter image description here

+0

哈,打我吧。好答案。 :D – kcoppock 2011-06-01 14:15:58

+0

我的圖像是480爲320和廣場不在圖像的中心 – Jim 2011-06-01 14:18:51

+0

@Jim,請更新您的問題與此細節。還可以添加你想要的東西與你看到的東西的截圖。 – inazaruk 2011-06-01 14:20:11

相關問題