Страница 1 из 1

Ширина столбца в TableLayout

Добавлено: 10 фев 2015, 18:06
Antonio
Всем привет.
Таков вопрос: как сделать первый столбец уже? Как видно, он занимает значительно больше места чем все остальные.


Вот исходный код. Спасибо за помощь.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.anton.finnishgrammar.KPT">

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/textForButton3"
android:id="@+id/textView28"
android:gravity="center_horizontal"
android:textSize="@dimen/Paragraph" />

<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal">

<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal">

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center">


<TableLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:stretchColumns="*"
>


<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#ff25ff06">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/Vahva"
android:id="@+id/textView29"
android:gravity="center_horizontal"
android:textSize="@dimen/sizeForOrdinaryText"
android:textStyle="bold|italic" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/Heikko"
android:id="@+id/textView30"
android:gravity="center_horizontal"
android:textStyle="bold|italic"
android:textSize="@dimen/sizeForOrdinaryText" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/Yks1"
android:id="@+id/textView31"
android:gravity="center_horizontal"
android:textSize="@dimen/sizeForOrdinaryText"
android:textStyle="bold|italic" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/arrow"
android:id="@+id/textView32"
android:gravity="center_horizontal"
android:textSize="@dimen/sizeForOrdinaryText"
android:textStyle="italic" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/Mon1"
android:id="@+id/textView33"
android:gravity="center_horizontal"
android:textStyle="bold|italic"
android:textSize="@dimen/sizeForOrdinaryText" />
</TableRow>

<TableRow
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:background="#fffff60d">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/kk"
android:id="@+id/textView34"
android:gravity="center_horizontal"
android:textSize="@dimen/sizeForOrdinaryText" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/k"
android:id="@+id/textView35"
android:gravity="center_horizontal"
android:textSize="@dimen/sizeForOrdinaryText" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/Kukka"
android:id="@+id/textView36"
android:gravity="center_horizontal"
android:textSize="@dimen/sizeForOrdinaryText" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/Arrow2"
android:id="@+id/textView37"
android:gravity="center_horizontal"
android:textSize="@dimen/sizeForOrdinaryText" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/Kukat"
android:id="@+id/textView38"
android:gravity="center_horizontal"
android:textSize="@dimen/sizeForOrdinaryText" />
</TableRow>

<TableRow
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center_horizontal"
android:background="#ffff1d08">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/Harv"
android:id="@+id/textView39"
android:gravity="center_horizontal"
android:textStyle="italic"
android:textSize="@dimen/sizeForOrdinaryText" />
</TableRow>

<TableRow
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:background="#fffff60d">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/uku"
android:id="@+id/textView40"
android:gravity="center_horizontal"
android:textSize="@dimen/sizeForOrdinaryText" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/uvu"
android:id="@+id/textView41"
android:gravity="center_horizontal"
android:textSize="@dimen/sizeForOrdinaryText" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/suku"
android:id="@+id/textView42"
android:gravity="center_horizontal"
android:textSize="@dimen/sizeForOrdinaryText" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/Arrow3"
android:id="@+id/textView43"
android:gravity="center_horizontal"
android:textSize="@dimen/sizeForOrdinaryText" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/suvut"
android:id="@+id/textView44"
android:gravity="center_horizontal"
android:textSize="@dimen/sizeForOrdinaryText" />

</TableRow>

<TableRow
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center_horizontal"
android:background="#ffff1d08">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/KPTei"
android:id="@+id/textView45"
android:gravity="center_horizontal"
android:textSize="@dimen/sizeForOrdinaryText"
android:textStyle="italic" />
</TableRow>

<TableRow
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center_horizontal"
android:background="#fffff60d">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/KPTeitapahdu"
android:id="@+id/textView46"
android:gravity="center_horizontal"
android:textSize="@dimen/sizeForOrdinaryText" />

</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:background="#ffff1d08">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/Atyypi"
android:id="@+id/textView47"
android:gravity="center_horizontal"
android:textSize="@dimen/sizeForOrdinaryText"
android:textStyle="italic" />

</TableRow>

<TableRow
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:background="#fffff60d">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/ABtyypit"
android:id="@+id/textView48"
android:gravity="center"
android:textSize="@dimen/sizeForOrdinaryText" />

</TableRow>

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Explain"
android:id="@+id/button7"
android:textColor="#ffff0402"
android:textStyle="italic"
android:textSize="@dimen/sizeForOrdinaryText"/>

</TableLayout>


</LinearLayout>







</HorizontalScrollView>


</ScrollView>



</LinearLayout>

Re: Ширина столбца в TableLayout

Добавлено: 10 фев 2015, 19:05
alexmx
В первых элементах TextView в атрибуте android:layout_width="ВСТАВЛЯЙТЕ НУЖНОЕ ЗНАЧЕНИЕ", например 60pt

Re: Ширина столбца в TableLayout

Добавлено: 10 фев 2015, 20:50
Antonio
alexmx писал(а):В первых элементах TextView в атрибуте android:layout_width="ВСТАВЛЯЙТЕ НУЖНОЕ ЗНАЧЕНИЕ", например 60pt
Спасибо за ответ. Почему то не становится уже....если поставить значение 120pt и более то столбец становится шире. Если вводить значения ниже 60pt, то вообще ничего не происходит. Первый столбец остаётся такой же ширины.

Re: Ширина столбца в TableLayout

Добавлено: 10 фев 2015, 21:14
doter.ua
лучше программно накодить элементов, чем заполнять все в хмл.

Re: Ширина столбца в TableLayout

Добавлено: 10 фев 2015, 21:16
Foenix
doter.ua писал(а):лучше программно накодить элементов, чем заполнять все в хмл.
Antonio, не верь этому совету, он неправильный.

Re: Ширина столбца в TableLayout

Добавлено: 10 фев 2015, 22:10
alexmx
Antonio писал(а):
alexmx писал(а):В первых элементах TextView в атрибуте android:layout_width="ВСТАВЛЯЙТЕ НУЖНОЕ ЗНАЧЕНИЕ", например 60pt
Спасибо за ответ. Почему то не становится уже....если поставить значение 120pt и более то столбец становится шире. Если вводить значения ниже 60pt, то вообще ничего не происходит. Первый столбец остаётся такой же ширины.
Попробуйте написать таблицу с нуля без лишних атрибутов, только ширина и высота элементов, затем наполните её контентом. Пока пишете разберетесь что к чему)))

Re: Ширина столбца в TableLayout

Добавлено: 10 фев 2015, 22:49
doter.ua
Foenix писал(а):
doter.ua писал(а):лучше программно накодить элементов, чем заполнять все в хмл.
Antonio, не верь этому совету, он неправильный.
Клуб любителей хмл кода протяженностью 5+ мониторов?

Re: Ширина столбца в TableLayout

Добавлено: 10 фев 2015, 22:52
Foenix
doter.ua писал(а):
Foenix писал(а):
doter.ua писал(а):лучше программно накодить элементов, чем заполнять все в хмл.
Antonio, не верь этому совету, он неправильный.
Клуб любителей хмл кода протяженностью 5+ мониторов?
а это тут причем? его код тоже ужасен. Там все не так делать надо, но и не динамически.

Re: Ширина столбца в TableLayout

Добавлено: 10 фев 2015, 23:01
doter.ua
Foenix писал(а):
doter.ua писал(а):
Foenix писал(а):
doter.ua писал(а):лучше программно накодить элементов, чем заполнять все в хмл.
Antonio, не верь этому совету, он неправильный.
Клуб любителей хмл кода протяженностью 5+ мониторов?
а это тут причем? его код тоже ужасен. Там все не так делать надо, но и не динамически.
Я бы вкинул все адаптер с элементом: строка из 4 вьюшек с weight примерно 2:1:1:1 и готово.

Re: Ширина столбца в TableLayout

Добавлено: 11 фев 2015, 05:38
alexmx
doter.ua писал(а):
Foenix писал(а):
doter.ua писал(а):
Foenix писал(а):
doter.ua писал(а):лучше программно накодить элементов, чем заполнять все в хмл.
Antonio, не верь этому совету, он неправильный.
Клуб любителей хмл кода протяженностью 5+ мониторов?
а это тут причем? его код тоже ужасен. Там все не так делать надо, но и не динамически.
Я бы вкинул все адаптер с элементом: строка из 4 вьюшек с weight примерно 2:1:1:1 и готово.
Это от задачи зависит :D

Re: Ширина столбца в TableLayout

Добавлено: 11 фев 2015, 10:36
Antonio
Вообщем разобрался.))
Ширина столбца определяется самым широким элементом в TableRow в соответствующем столбце. Ниже, у меня был создан Tablerow всего с одним единственным элементом textview с длинным словом. Это слово и определяло ширину для всего первого столбца. Поэтому, пытаясь поменять ширину в первых элементах, ничего не происходило, т.к. "диктующим" элементом, был элемент ниже.

Всем спасибо за участие. Действительно, лучшим советом был совет от alexmx, переписать всё заново.).