Android 空消息放置问题

发布于 2024-11-02 02:30:20 字数 2656 浏览 1 评论 0原文

我有一个用于搜索的布局。屏幕中,有一个搜索框,搜索框下方,显示搜索结果。

<?xml version="1.0" encoding="utf-8"?>
<TableLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center_horizontal"
        android:background="#FFFFFF"
        android:stretchColumns="0" >
        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:focusable="true" 
            android:paddingTop="5dp"
            android:focusableInTouchMode="true">            
            <EditText
                android:id="@+id/searchword"
                android:textSize="14sp"
                android:layout_height="wrap_content"
                android:layout_width="fill_parent"
                android:drawableLeft="@drawable/icon_search"
                android:hint="@string/text_searchword">
            </EditText>
        </TableRow>
        <TableRow 
            android:id="@+id/listbox"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="#FFFFFF">
            <LinearLayout       
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">
                <ListView
                    android:id="@+id/android:list"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent">
                </ListView>
                <LinearLayout
                    android:id="@android:id/empty"              
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent">
                    <TextView 
                        android:id="@+id/emptytext" 
                                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:textColor="#818185"
                        android:textSize="25sp"
                        android:textStyle="bold"
                        android:background="#FFFFFF"
                        android:text="@string/empty_res"
                        android:gravity="center_horizontal"
                        android:paddingLeft="6dip"
                    />
                </LinearLayout> 
            </LinearLayout>
        </TableRow>
</TableLayout>

我希望搜索结果显示在搜索框之后,但如果没有搜索结果,则空消息应位于搜索结果块的垂直中心。但我未能将其垂直居中移动。如何将消息垂直居中排列?

I have a layout for searching. In the screen, there is a search box and under search box, it shows the search result.

<?xml version="1.0" encoding="utf-8"?>
<TableLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center_horizontal"
        android:background="#FFFFFF"
        android:stretchColumns="0" >
        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:focusable="true" 
            android:paddingTop="5dp"
            android:focusableInTouchMode="true">            
            <EditText
                android:id="@+id/searchword"
                android:textSize="14sp"
                android:layout_height="wrap_content"
                android:layout_width="fill_parent"
                android:drawableLeft="@drawable/icon_search"
                android:hint="@string/text_searchword">
            </EditText>
        </TableRow>
        <TableRow 
            android:id="@+id/listbox"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="#FFFFFF">
            <LinearLayout       
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">
                <ListView
                    android:id="@+id/android:list"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent">
                </ListView>
                <LinearLayout
                    android:id="@android:id/empty"              
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent">
                    <TextView 
                        android:id="@+id/emptytext" 
                                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:textColor="#818185"
                        android:textSize="25sp"
                        android:textStyle="bold"
                        android:background="#FFFFFF"
                        android:text="@string/empty_res"
                        android:gravity="center_horizontal"
                        android:paddingLeft="6dip"
                    />
                </LinearLayout> 
            </LinearLayout>
        </TableRow>
</TableLayout>

I want that the search result shows just after the search box, but if there is no search result, the empty message should come vertically center of the block for the search result. But I failed to move it vertically center. How can it arrange the message vertically center?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

贵在坚持 2024-11-09 02:30:20

尝试使用此布局:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="#FFFFFF">

    <EditText
        android:id="@+id/searchword"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="5dp"
        android:textSize="14sp"
        android:drawableLeft="@drawable/icon_search"
        android:hint="@string/text_searchword" />

    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <ListView
            android:id="@+id/android:list"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />

        <TextView 
            android:id="@+id/emptytext" 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center"
            android:textColor="#818185"
            android:textSize="25sp"
            android:textStyle="bold"
            android:text="@string/empty_res"
            android:paddingLeft="6dip"
            android:visibility="gone" />
    </FrameLayout>
</LinearLayout>

您必须根据搜索结果更改列表和文本视图的可见性。

Try using this layout:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="#FFFFFF">

    <EditText
        android:id="@+id/searchword"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="5dp"
        android:textSize="14sp"
        android:drawableLeft="@drawable/icon_search"
        android:hint="@string/text_searchword" />

    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <ListView
            android:id="@+id/android:list"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />

        <TextView 
            android:id="@+id/emptytext" 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center"
            android:textColor="#818185"
            android:textSize="25sp"
            android:textStyle="bold"
            android:text="@string/empty_res"
            android:paddingLeft="6dip"
            android:visibility="gone" />
    </FrameLayout>
</LinearLayout>

You have to change list's and text view's visibility depending on search result.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文