Android ListView — футбольная таблица с разной шириной ячейки

#android #listview

#Android #listview

Вопрос:

Я провел много исследований, но не нашел решения для моей проблемы с Android ListView!

Мой макет:

     <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <ListView android:id="@ id/android:list" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"/>
    </LinearLayout>
  

В этом ListView я хотел бы отобразить футбольную таблицу, где цвета имеют разную ширину (например, название команды должно быть шире, чем очки)! Поэтому я создал следующий макет строки:

     <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@ id/team_line"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="3dip" 
        android:orientation="horizontal">
            <TextView
                android:id="@ id/team_place"
                android:layout_width="30dip"
                android:layout_height="fill_parent"
                android:gravity="right"
            android:textColor="#d08021"
                android:paddingRight="6dip"
            />
            <TextView
                android:id="@ id/team_name"
                android:layout_width="140dip"
                android:layout_height="fill_parent"
                android:layout_weight="1" />
            <TextView
                android:id="@ id/team_games"
                android:gravity="right"
                android:layout_width="30dip"
                android:layout_height="fill_parent"
                android:layout_weight="1"
            />
            <TextView
                android:id="@ id/team_games_win"
                android:gravity="right"
        android:layout_width="30dip"
                android:layout_height="fill_parent"
                android:layout_weight="1"
            /> 
            <TextView
                android:id="@ id/team_games_draw"
                android:gravity="right"
                android:layout_width="30dip"
                android:layout_height="fill_parent"
                android:layout_weight="1"
            />        
            <TextView
                android:id="@ id/team_games_loose"
                android:gravity="right"
                android:layout_width="30dip"
                android:layout_height="fill_parent"
                android:layout_weight="1"
            />                
            <TextView
                android:id="@ id/team_goals_shot"
                android:gravity="right"
                android:layout_width="30dip"
                android:layout_height="fill_parent"
                android:layout_weight="1"
            />
            <TextView
                android:id="@ id/team_goals_got"
                android:gravity="right"
                android:layout_width="30dip"
                android:layout_height="fill_parent"
                android:layout_weight="1"
            />
            <TextView
                android:id="@ id/team_points"
                android:gravity="right"
                android:layout_width="40dip"
                android:layout_height="fill_parent"
                android:layout_weight="1"
            />                                     
    </LinearLayout>
  

ListView работает в обычном режиме, но в альбомном режиме размер всего экрана не используется!
Я не знаю, верны ли мои свойства layout_width. Каков максимальный размер (в dip) Я могу использовать?

Я пытался использовать разные параметры layout_width с разными значениями layout_width, но пока не нашел решения.

Каков наилучший способ правильно выровнять «ячейки» моего listview с разной шириной для обычного и альбомного режимов? Нет ли возможного способа использовать процентные значения?

Я надеюсь, что кто-нибудь может мне помочь!

Заранее спасибо!

С наилучшими пожеланиями, Дэниел

Комментарии:

1. Почему бы вам не использовать макет таблицы в режиме прокрутки вместо listview?

2. спасибо за ваш ответ! я использовал ее, потому что мне нужен onlistitemclick!

3. Вместо этого вы можете использовать onTouchEvent() для TableRow.