У меня есть то, что кажется моим Googling редким вопросом.Использование RelativeLayout для управления высотой строки ListView
У меня есть файл XML, который определяет, как должна выглядеть строка в моем ListView.
Поскольку я хочу видеть только одну строку за один раз, я переопределяю getCount адаптера, который отлично работает, показывая мне только одну строку. Проблема заключается в том, что, несмотря на мои настройки fill_parent, строка по-прежнему не заполняет экран.
Я пробовал много вещей, и ближе всего я устанавливаю RelativeLayout minHeight, но тогда он специфичен для размера экрана. Поэтому либо мои элементы неправильно настроены в RelativeLayout, либо мне нужен способ автоматической настройки minHeight на основе устройства.
Я бы предпочел сделать это в формате XML, но при необходимости можно было бы программно настроить его при запуске.
Это код для родительского контейнера:
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:orientation="vertical">
<ListView
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</RelativeLayout>
и для строки XML:
<RelativeLayout
android:layout_width="fill_parent"
android:orientation="vertical"
android:layout_height="fill_parent">
<ImageView
android:layout_width="60dp"
android:layout_height="30dp"
android:layout_alignParentLeft="true"
android:layout_marginTop="15dp"
android:layout_marginLeft="5dp" />
<TextView
android:layout_centerHorizontal="true"
android:layout_width="185dp"
android:layout_height="25dp"
android:textSize="20sp"
android:layout_marginTop="15dp"
android:gravity="center"
android:inputType="none" />
<ImageView
android:layout_width="60dp"
android:layout_height="30dp"
android:layout_alignParentLeft="true"
android:layout_marginTop="60dp"
android:layout_marginLeft="5dp" />
<TextView
android:layout_centerHorizontal="true"
android:layout_width="185dp"
android:layout_height="25dp"
android:textSize="20sp"
android:layout_marginTop="60dp"
android:gravity="center"
android:inputType="none" />
<TextView
android:layout_alignParentLeft="true"
android:layout_marginLeft="35dp"
android:layout_width="95dp"
android:layout_height="50dp"
android:textSize="18dp"
android:layout_marginTop="110dp"
android:gravity="center"
android:inputType="none" />
<org.gpgvm.widget.NumberPicker
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/btn_PrevLift"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginLeft="35dp"
android:layout_marginBottom="120dp">
</org.gpgvm.widget.NumberPicker>
<TextView
android:layout_alignParentRight="true"
android:layout_marginRight="35dp"
android:layout_width="95dp"
android:layout_height="50dp"
android:textSize="18dp"
android:layout_marginTop="110dp"
android:gravity="center"
android:inputType="none" />
<org.gpgvm.widget.NumberPicker
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/btn_NextLift"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginRight="35dp"
android:layout_marginBottom="120dp" >
</org.gpgvm.widget.NumberPicker>
<Button
android:layout_width="100dp"
android:layout_height="40dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginLeft="30dp"
android:layout_marginBottom="30dp" />
<Button
android:layout_width="100dp"
android:layout_height="40dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginRight="30dp"
android:layout_marginBottom="30dp" />
</RelativeLayout>
OK кроме один noob вопрос. Как можно найти RelativeLayout. Можете ли вы использовать findViewById ...? Я имею в виду, что я предположил, что это было для просмотров, TextView, ImageView и т. Д. – GPGVM
getLayoutParams(). Height = x; requestLayout(); или invalidate(); – Housefly
Интересно. Я установил ListView как таковой: lstvw_LiftData.getLayoutParams(). Height = height; но это не сработает. Я предполагаю, что я не свернул до фактических параметров макета строки. – GPGVM