8

这是我的 ListView XML 代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ListView
        android:id="@+list/list_view"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/defaultbg"
        android:drawSelectorOnTop="false" />

    <ImageButton
        android:id="@+list/filter_button"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:background="@android:color/transparent"
        android:contentDescription="@string/SmallLogo"
        android:scaleType="fitXY"
        android:src="@drawable/filter" />

    <!-- empty view -->

    <TextView
        android:id="@+list/empty"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:background="@drawable/defaultbg"
        android:gravity="center"
        android:text="@string/whos_around_empty_text"
        android:textAppearance="@android:style/TextAppearance.Medium"
        android:textColor="@android:color/white"
        android:textStyle="bold" />

    <EditText
        android:id="@+list/filter"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:hint="@string/search"                
        android:visibility="visible"/>
</RelativeLayout>

EditText 位于视图的底部,但由于某种原因它并不紧贴底部。

仔细检查时,我发现布局正好在底部 - 但内部的白色背景并没有覆盖整个布局(有点像 ImageView 大小大于布局大小并且您使用 scaleType 时)..

对我来说,EditText 将紧贴底部真的很重要......有什么想法吗??

更新:添加屏幕截图:

截屏

如您所见 - editText 白色背景的底部未与屏幕底部对齐...尽管布局本身已对齐

4

2 回答 2

5

在 Android 中,所有小部件都有一些来自其他视图的填充和边距,以便更好地查看。每个小部件都有 4 dp 边距和 8 dp 填充。如果您不希望这样,您可以创建自定义视图。

现在,尝试在底部使用负像素的边距。

android:layout_marginBottom="-4dp"

在我的布局上运行良好

于 2013-01-29T09:52:48.807 回答
0

试试这个,我做过类似的屏幕。

在此处输入图像描述

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView
    android:id="@+id/empty"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:gravity="center"

    android:text="@string/whos_around_empty_text"
    android:background="@drawable/defaultbg"
    android:textAppearance="@android:style/TextAppearance.Medium"
    android:textColor="@android:color/white"
    android:textStyle="bold" />

<RelativeLayout
    android:id="@id/relative"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true" >

    <ImageButton
        android:id="@+list/filter_button"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_alignParentRight="true"
        android:background="@android:color/transparent"
        android:contentDescription="Smalllogo"
        android:scaleType="fitXY"
        android:src="@drawable/filter" />

    <!-- empty view -->

    <EditText
        android:id="@+list/filter"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:hint="Search"
        android:visibility="visible" />
</RelativeLayout>

<ListView
    android:id="@+id/list_view"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/defaultbg"
    android:layout_above="@id/relative"
    android:layout_below="@id/empty"
    android:drawSelectorOnTop="false" />

于 2013-01-29T09:32:29.893 回答