W moim widoku siatki wszystkie komórki są początkowo renderowane jako prostokąty, ale za drugim razem są kwadratowe.

Muszę logicznie ustawić je jako kwadratowe, ale chcę, żeby były kwadratowe przy pierwszym załadowaniu

Mój problem polega na tym, że nie rozumiem, dlaczego widoki są początkowo prostokątami lub w ogóle w jakiejś określonej proporcji!

Wszystkie moje pliki XML są ustawione na wypełnienie rodzica, a nawet umieszczam kwadratowy obraz zastępczy, próbując wymusić renderowanie widoków jako kwadrat

Czy jest coś o gridview, o którym powinienem wiedzieć?

2
CQM 23 wrzesień 2012, 22:35

2 odpowiedzi

Najlepsza odpowiedź

Odpowiedzią było rozszerzenie mojego ImageView w komórce gridview i @Override metody onMeasure i dynamiczne generowanie tam proporcji kwadratowych

0
CQM 25 wrzesień 2012, 19:02
  1. utwórz niestandardowy adapter macierzy.(java)

Zobacz ( Wyświetlanie grafiki zamiast ciągów na liście obrazów z tytuł )

  1. w pliku xml (komórka) custom array adpater napisz coś takiego:

    <?xml version="1.0" encoding="utf-8"?>
      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="50dp"
        android:layout_height="50dp" > 
        <ImageView
          android:id="@+id/iv_caarow"
          android:src="@drawable/icon"
          android:layout_width="match_parent"
          android:layout_height="match_parent" />
      </RelativeLayout>
    

Android:layout_width="50dp", możesz ustawić rozmiar komórki w ten sposób.

0
Community 23 maj 2017, 13:25