2012-03-05 14 views
0

私はちょっと困惑しています。私は現在アクティビティのUIを設計しており、そのUIのTextViewウィジェットのうちの2つはちょっと変わっています。Android - 奇妙なTextViewの動作

動作をより簡単に観察するために、背景をandroid:background="#CCCCCC"に設定しました。これは、私が目指している外観を取得すると、最終的に削除されます。

enter image description here

しかしTextViewは異なる長さの文字列で満たされたときに、幅が変更されます:

両方TextViewが空で、行動は、私は私のUIから期待するものである

enter image description here

私のUIの行に付けられたコードは次のとおりです。

 <TableRow android:weightSum="2" > 
      <TextView 
       android:id="@+id/tvDate" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:background="#CCCCCC" 
       android:gravity="center_vertical|center_horizontal" 
       android:padding="4dp" 
       android:textColor="#000000" /> 

      <View 
       android:layout_width="8dp" 
       android:layout_height="fill_parent" /> 

      <TextView 
       android:id="@+id/tvTime" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:background="#CCCCCC" 
       android:gravity="center_vertical|center_horizontal" 
       android:padding="4dp" 
       android:textColor="#000000" /> 
     </TableRow> 

は、これまでのところ、私は別のandroid:paddingandroid:layout_weight組み合わせで値の過多にandroid:layout_widthパラメータを変更しようとしました。しかし、何も私に望みの効果を与えてくれませんでした(これは、2つのスペースを同じ大きさにすることです)。

私はAndroidのXMLエキスパートとは遠く離れているので、どのような指針をいただければ幸いです。

+0

アンドロイドもあります:重量...ドキュメントを確認してください。それはそれを修正する必要があります。 – trgraglia

+0

私は現在 'android:layout_weight'を使用しています。あなたはコメントする前に私の質問をチェックするのに気をつけましたか? –

+0

それがちょうど2行であれば、私は2つの水平線形レイアウトを使用することをお勧めします。 –

答えて

2

LinearLayoutを使用することをお勧めします。

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:weightSum="1.0" 
    android:orientation="horizontal"> 
<TextView 
    android:id="@+id/tvDate" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="0.5" 
    android:background="#CCCCCC" 
    android:gravity="center_vertical|center_horizontal" 
    android:paddingRight="4dp" 
    android:textColor="#000000" /> 
<TextView 
    android:id="@+id/tvTime" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="0.5" 
    android:background="#CCCCCC" 
    android:gravity="center_vertical|center_horizontal" 
    android:paddingLeft="4dp" 
    android:textColor="#000000" /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:weightSum="1.0" 
    android:orientation="horizontal"> 
<Button 
    android:id="@+id/buttonDate" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="0.5" 
    android:gravity="center_vertical|center_horizontal" 
    android:paddingRight="4dp" 
    android:text="Pick Date" /> 
<Button 
    android:id="@+id/buttonTime" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="0.5" 
    android:gravity="center_vertical|center_horizontal" 
    android:paddingLeft="4dp" 
    android:text="Pick Time" /> 
</LinearLayout> 
+0

それは、あなたの助けに感謝しました! –