1

OK、Androidのテーブルにオブジェクトを配置することについての別の質問がありますが、Stackで見つけたものは何も役に立ちませんでした。

ImageView以下のXMLのをセル内で左揃えにします。しかし、私が何を試しても、これは実行されません(常に中央に配置されます)。layout_widthとはlayout_weight、セル自体の位置とサイズを制御するためにそのまま設定されます。ImageViewただし、これらの設定により、セル内で を左揃えにすることが不可能になっている可能性があります。

android:layout_gravity="left"ImageViewタグでもTableRowタグでも機能しandroid:gravity="left"ませんでした。うまくいくと思われる厄介な解決策の1つは、3番目の列に空白のTextViewを追加して、ImageViewを保持する2番目の列をImageViewのビットマップの幅と正確に一致させることです。ただし、特に行ごとに幅の異なるビットマップが含まれている可能性があるため、これを行う必要はありません。

<TableLayout
     android:id="@+id/scoreTable"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:layout_alignParentBottom="true"
     android:layout_alignParentLeft="true" >

     <TableRow
         android:id="@+id/thisWeek"
         android:layout_width="wrap_content"
         android:layout_height="fill_parent" >

         <TextView
             android:id="@+id/thisWeekText"
             android:layout_width="0px"
             android:layout_height="30dp"
             android:layout_weight="35"
             android:gravity="right"
             android:paddingRight="30px"
             android:text="@string/thisWeek"
             android:textStyle="bold" />


         <ImageView
             android:id="@+id/chevron1"
             android:layout_width="0px"
             android:layout_height="20dp"
             android:layout_weight="65"
             android:layout_marginLeft="0px"
             android:src="@drawable/doser_scale4a"
             android:visibility="visible" />


     </TableRow>
4

2 に答える 2

0

TextViews にあったテキストのビットマップを使用して、TextViews を ImageViews に置き換えました。テキストは変更されないため、これで問題ありませんでしたが、変更された場合は、可能なすべてのテキストの画像を作成し、それらの画像を切り替えることができたと思います。

これは理想的な解決策ではありませんでした。テキストの代わりにビットマップを使用するとより多くのメモリを使用し、テキストのビットマップを作成するには少しの時間と労力が必要であり、テキストを変更する必要がある場合は、その容易さと柔軟性を犠牲にする必要があるからです。 、しかし、これを TextViews で機能させる方法がわかりませんでした。表のセル内でテキストを好きなように配置するのはそれほど難しくないはずなので、Android は間違いなくこのように制限されているようです。

于 2012-09-26T17:49:51.003 に答える
0

TableRow の各「セル」はビューであるため、LinearLayout を (好みの重力で) 配置し、この LinearLay 内にイメージを配置できます。

于 2013-08-20T05:47:44.973 に答える