Создание «красивого» GridView - PullRequest
0 голосов
/ 30 июля 2011

Теперь, когда серверная часть моего приложения / сервера почти готова, пришло время двигаться дальше и исправлять мой gridview.Я разрабатывал на своем HTC EVO и делал некоторые плохие вещи (например, устанавливая высоту и ширину для фактических размеров пикселей).

Прямо сейчас у меня есть изображение поверх текста в каждой ячейке сетки.

Вот мой XML для ячейки:

<RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"            
  android:id = "@+id/single_item_id"  
  android:layout_width="100dp"
  android:layout_height="140px"      
  android:orientation="vertical"
  > 
  <ImageView
  android:id = "@+id/album_image"
  android:adjustViewBounds="true"
  android:layout_gravity="center_horizontal"
  android:layout_width="90dp"
  android:layout_height="80px"
  />

  <TextView 
  android:text="TextView" 
  android:id="@+id/textView1" 
  android:layout_width="wrap_content" 
  android:layout_height="60px"
  android:textSize="12sp"
  android:gravity="center" 
  android:layout_gravity="center_horizontal"
  android:layout_below="@id/album_image">
  </TextView>

Вот мой gridview xml:

<GridView
  android:id="@+id/gridview"
      android:layout_width="wrap_content" 
  android:layout_height="fill_parent"
  android:numColumns="auto_fit"
  android:verticalSpacing="10dp"
  android:horizontalSpacing="10dp"
  android:columnWidth="90dp"
  android:stretchMode="columnWidth"
  android:gravity="center"
  android:layout_below="@id/firstDivider"></GridView>

Мои проблемы ...

Я знаю, что у меня дела идут не очень хорошо, но мне нужны некоторые указатели (по какой-то причине это сложнее всего для меня).В коде это то, что я делаю:

v.setLayoutParams(new GridView.LayoutParams(width / 3,height / 6));

где ширина / высота - это ширина устройства / высота.Это делает все немного лучше ...

здесь мой вид изображения:

iv.setPadding(8, 0, 8, 0);
iv.setScaleType(ImageView.ScaleType.CENTER_CROP);

все же изображения просто не выглядят правильно :(

Кроме тогоко всему этому текст в моем текстовом обзоре никогда не центрируется! Это те вещи, которые мне сейчас кажутся самыми большими проблемами.

Я понимаю, что мой вопрос довольно расплывчатый, но любой совет будетбольшой.

1 Ответ

0 голосов
/ 30 июля 2011

Похоже, вы изменяете вид изображения (размеры) поверх их установки в макете. Я думаю, что вам нужно сделать, это в Adapter.getView (...) просто надуть макет и установить layoutParams макета, а не изображение.

...