Пустое место справа в GridView

Интерфейс, диалоги, темы, стили, меню
Ответить
_Selw
Сообщения: 5
Зарегистрирован: 11 июл 2013, 20:13

Пустое место справа в GridView

Сообщение _Selw » 11 июл 2013, 20:38

Доброго времени суток уважаемые форумчане!

Прошу помощи в решении следующей проблемы:

Есть GridView, в его разметке указано кол-во колонок, равное 7.

[syntax=xml]
<GridView
android:id="@+id/gvMain"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:horizontalSpacing="1dp"
android:numColumns="7"
android:verticalSpacing="1dp" >
</GridView>[/syntax]

Каждая его ячейка задается следующим образом:

[syntax=xml]
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@drawable/x_border_item"
android:orientation="vertical">
<TextView
android:id="@+id/Text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:textSize="20sp"
android:text="а">
</TextView>
</RelativeLayout>
[/syntax]

Результат получается следующим:

Изображение

Справа остается пустое место, то есть, насколько я понимаю, эти 7 колонок не занимают полностью всю ширину GridView.

Собственно вопрос: как это исправить, то есть сделать так, чтобы эти 7 колонок занимали всю ширину GridView?

Заранее спасибо за ответы!

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Пустое место справа в GridView

Сообщение rezak90 » 11 июл 2013, 20:43

у вас же у грида стоит android:layout_margin="2dp" вот и отступ
R.id.team
Политика на форуме запрещена

_Selw
Сообщения: 5
Зарегистрирован: 11 июл 2013, 20:13

Re: Пустое место справа в GridView

Сообщение _Selw » 11 июл 2013, 20:50

rezak90, В таком случае отступ же должен быть одинаков, что слева, что справа.

Попробовал вообще отступ убрать - слева его нет, а справа все равно остается черная полоска.

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Пустое место справа в GridView

Сообщение rezak90 » 11 июл 2013, 22:15

попробуйте добaвить атрибут в GridView
android:listSelector="@null"
R.id.team
Политика на форуме запрещена

_Selw
Сообщения: 5
Зарегистрирован: 11 июл 2013, 20:13

Re: Пустое место справа в GridView

Сообщение _Selw » 11 июл 2013, 22:32

rezak90, Попробовал - все равно пустое место осталось.

Такое ощущение, что эта полоска появляется из-за того, что ее ширину нельзя равномерно распределить на 7 равных кусков.
Допустим, ставлю 5 колонок - все ок, полоски нет, ставлю 6 - полоска есть, ставлю 7 - полоска чуть больше. Но ведь люди как-то делают подобные вещи...

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Пустое место справа в GridView

Сообщение rezak90 » 11 июл 2013, 22:42

ну я делал просто - вычислял ширину экрана и ширину для ячейки... но это было давно когда я в садик ходил, сейчас думаю что так делать не хорошо)))
R.id.team
Политика на форуме запрещена

_Selw
Сообщения: 5
Зарегистрирован: 11 июл 2013, 20:13

Re: Пустое место справа в GridView

Сообщение _Selw » 11 июл 2013, 22:47

rezak90, Ну да, не лучший вариант :)

_Selw
Сообщения: 5
Зарегистрирован: 11 июл 2013, 20:13

Re: Пустое место справа в GridView

Сообщение _Selw » 11 июл 2013, 23:30

В общем, лучшего варианта, чем узнать ширину родительского элемента, исходя из нее узнать ширину колонки, и задать в коде эту ширину, не нашел.

Вот тут тоже эта проблема обсуждается, и тоже аналогичное решение.

rezak90, спасибо за помощь!

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Пустое место справа в GridView

Сообщение rezak90 » 11 июл 2013, 23:37

что то на подобии этого вопроса я задавал на стеке http://stackoverflow.com/questions/1474 ... ss-then-10
но если динамически определять ширину то будет ещё проблема с остатком, так что остаток от деления учитывайте
R.id.team
Политика на форуме запрещена

Ответить