Trochę za późno, ale może ktoś inny może tego potrzebować.
Możesz to zrobić, używając również układów xml. Jeśli chcesz mieć format "stołowy", polecam użyć GridLayout do swoich celów.
Tutaj możesz zdefiniować swój widok tekstowy i przypisać go do żądanego wiersza i kolumny. Użyj parametrów android:layout_column="..."
i android:layout_row="..."
, aby powiedzieć TextView, w której kolumnie i wierszu powinien się pojawić.
Od wersji API11 można użyć atrybutu xml o nazwie android:rotation="..."
do obracania obiektu TextView. Atrybut używa wartości pływającej, która reprezentuje kąt obrotu twojego TextView.
jeśli rozwija API14 i powyżej można użyć atrybutu android:layout_rowspan="..."
do generowania rowspan w GridLayout
Na przykład mały kod:
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- column 0 start -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_row="0"
android:text="ABC" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_row="1"
android:layout_rowSpan="3"
android:rotation="-90.0"
android:layout_gravity="center_vertical"
android:text="2011" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_row="4"
android:text="DEF" />
<!-- column 0 end -->
<!-- column 1 start -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="0"
android:text="XXXXX" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="1"
android:text="XXXXX" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="2"
android:text="XXXXX" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="3"
android:text="XXXXX" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="4"
android:text="XXXXX" />
<!-- column 1 end -->
</GridLayout>
Jest to mały zrzutu ekranu, jak wygląda układ:
Cool. Dziękuję Ci; ale ... jeśli obrócę TextView w komórce TableRow, muszę również stworzyć coś w rodzaju ROWSPAN, ponieważ w 2011 r. trzeba użyć 3 wierszy ... w jaki sposób mogę to zrobić? – Cris
Rowspan nie jest możliwy AFAIK. Będziesz musiał umieścić ten obrócony widok i widoki obok niego w RelativeLayout lub innej grupie widoków. Spójrz na to pytanie: http://stackoverflow.com/questions/2189986/android-table-layout-rowspan – Cristian
Dziękuję bardzo, Twój link na pewno mi pomoże! – Cris