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 odpowiedzi
Odpowiedzią było rozszerzenie mojego ImageView w komórce gridview i @Override
metody onMeasure
i dynamiczne generowanie tam proporcji kwadratowych
- utwórz niestandardowy adapter macierzy.(java)
Zobacz ( Wyświetlanie grafiki zamiast ciągów na liście obrazów z tytuł )
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.
Podobne pytania
Powiązane pytania
Nowe pytania
android
Android to mobilny system operacyjny Google, używany do programowania lub tworzenia urządzeń cyfrowych (smartfony, tablety, samochody, telewizory, Wear, Glass, IoT). W przypadku tematów związanych z Androidem użyj tagów specyficznych dla Androida, takich jak android-intent, android-activity, android-adapter itp. W przypadku pytań innych niż programowanie lub programowanie, ale związanych ze strukturą Androida, użyj tego linku: https: // android.stackexchange.com.