2011-12-19 15 views
1

我試圖顯示在3行中的加速度計數據這樣停止文本0.0米/ S2
Z:-3.2米/ s2
機器人:</p> <p>X:9.8米/秒2 <br> Y:不能從移動

但無論我嘗試過什麼,當其中一個值超過9.9或負值時,我似乎無法防止m/s2來回移動。

例如

之前 X:0.0米/秒2

後 X:-5.0米/秒2

我試圖tablelayout但立柱稍稍舒展,RelativeLayout的,LinearLayout中和每一個可能的襯墊組合我能想到的的。

下面是我的XML代碼示例,它位於垂直線性佈局內部。

<LinearLayout   
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
android:orientation="horizontal"> 
<TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="X:" 
    android:textSize="30sp" /> 
    <TextView 
     android:id="@+id/x_value" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
     android:paddingLeft="30sp" 
     android:paddingRight="30sp" 
     android:text="  " 
     android:textSize="30sp"/> 
<TextView 
     android:id="@+id/xAccelUnits" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="   " 
     android:textSize="30sp" /> 
</LinearLayout> 

感謝您的幫助!

回答

0

您需要修復文本視圖的大小。它可以是dp中的寬度:layout_width =「30dp」

或者您可以對每個TextView使用權重:layout_width =「0dp」layout_weight =「1」,這樣每個屏幕的三分之一(通過修改重量和weight_sum在線性佈局,你可以給出在寬度的分數的屏幕寬度)

+0

太棒了,'layout_width'做了詭計。我已經嘗試了權重,但他們太過沮喪,無法正確並繼續轉移(可能是其他的錯誤)。我感謝你的時間! – Phil 2011-12-19 18:49:08

+0

沒問題。至於體重,它需要一個固定的寬度才能正常工作,因爲/剩餘/空間是分佈式的(0或更多的dp) – njzk2 2011-12-20 08:53:33

0

我有這個問題我自己,這是我如何解決它,與你的情況輕微改編:

DecimalFormat df = new DecimalFormat("#00.00000"); //put this somewhere where you don't have to recreate it every time you get a new value. 
String xAcc = df.format(event.values[0]); 
xValueView.setText(xAcc); 

(其中xValueView是您要在其中顯示值的TextView)

+0

謝謝,但這不會解決負數的情況。我使用Math.round函數來完成類似的結果。 – Phil 2011-12-19 19:06:26

+0

其實它確實如此。 #確保始終有一個「正」或「空」的空間。我更喜歡這種方法,因爲你一直都在同一個點上得到小數。 – Jave 2011-12-19 19:58:42

+0

這是有道理的。但你需要使用等寬字體,不是嗎? – njzk2 2011-12-20 08:54:24

相關問題