Кодът по-долу е за ListView с долен колонтитул,проблемът, пред който съм изправен, е, че по-ниските записи в ListView се припокриват от долния колонтитул. Така че бихте могли да предложат всяко решение (защото аз се опитах много и всяка ситуация аз съм получаване на същия припокриващи се резултат) или някакъв друг начин да го направя. Благодаря предварително. Аз също публикувах кода на долния колонтитул за всеки случай.
<LinearLayout android:id="@+id/homeParentLayout"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView android:layout_height="wrap_content"
android:layout_width="fill_parent" android:id="@+id/listV_main"
android:listSelector="@android:color/transparent"/>
<include android:id="@+id/footer" android:layout_height="wrap_content"
layout="@layout/mymenu" android:layout_width="fill_parent"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true">
</include>
</RelativeLayout>
</LinearLayout>
Код за mymenu.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center"
android:layout_gravity="bottom">
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_horizontal"
android:gravity="center"
android:orientation="vertical">
<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal">
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text=" "
android:gravity="center"/>
<ImageView
android:id="@+id/imgSetting"
android:src="/images/@drawable/settings_gear_icon_256"
android:layout_width="60dip"
android:layout_height="60dip"
android:layout_marginLeft="10sp"
android:clickable="true"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text=" "
android:gravity="center"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text=" "
android:gravity="center"/>
<ImageView
android:id="@+id/imgLogin"
android:layout_width="60dip"
android:src="/images/@drawable/login_lock_256"
android:clickable="true"
android:layout_height="60dip" />
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text=" "
android:gravity="center"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text=" "
android:gravity="center"/>
</TableRow>
</TableLayout>
</LinearLayout>
Отговори:
2 за отговор № 1Използвайте относително оформление по следния начин: Декларирайте относителното оформление, след което обявете долния колонтитул за първи елемент. Тези свойства са важни за долния колонтитул:
android:layout_alignParentBottom="true"
android:id="@+id/footer_id"
След това обявете списъка си с това свойство:
android:layout_above="@id/footer_id"
И това трябва да го направи.
0 за отговор № 2
Въпреки че a RelativeLayout
обикновено ви дава по-голяма гъвкавост при оформлението на оформлението, в случай на сравнително лесно оформление, като това, можете да използвате тежести за разпределяне на имота на екрана по подобен начин, като използвате LinearLayout
.
Имайте предвид, че най-забележимите промени по-долу са в ListView
декларация. Височината на "0dp" и теглото на "1" ще направят ListView
заемат колкото е възможно повече пространство (вертикално), без да избутвате долния край на долната част. Ефективно, това ще подравнява долния колонтитул.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/homeParentLayout"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView android:layout_height="0dp" android:layout_weight="1"
android:layout_width="fill_parent" android:id="@+id/listV_main"
android:listSelector="@android:color/transparent" />
<include android:id="@+id/footer" android:layout_height="wrap_content"
layout="@layout/mymenu" android:layout_width="fill_parent"
android:layout_gravity="center_horizontal" />
</LinearLayout>
Също така бях свободен да премахна това, което изглеждаше като левичкови тагове / атрибути от игра наоколо с a RelativeLayout
.