添加页脚视图到Tabhost Android

时间:2013-07-26 08:57:13

标签: android android-listview android-tabhost footer

我想添加页脚视图,列表视图中加载的元素的计数器。我想知道sholuld在哪里放置页脚视图。我已经在我的列表视图中有一个,我想我不能把它放在那里,因为我希望它一直都是可变的,而不是当我像我所拥有的那样到达底部时。

代码:

的ListView:

<LinearLayout 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="@+id/lista"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:stackFromBottom="false"
    android:transcriptMode="normal"
    />
</LinearLayout>

标签代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainTabActivity" >
<TabHost
    android:id="@android:id/tabhost"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true" >
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_vertical|fill_vertical|fill_horizontal" >
        </TabWidget>
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
            <LinearLayout
                android:id="@+id/tab1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical" >                   
                <ListView
                    android:id="@+id/lista"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:stackFromBottom="false"
                    android:transcriptMode="normal"
                    />
            </LinearLayout>
            <LinearLayout
                android:id="b"
            </LinearLayout>

            <LinearLayout
                android:id="c"
            </LinearLayout>                
            <LinearLayout
                android:id="d"
            </LinearLayout>                            
        </FrameLayout>
    </LinearLayout>                      
</TabHost>     

我有这个:http://imageshack.us/photo/my-images/23/6a3t.jpg/

我想这样:http://imageshack.us/photo/my-images/809/kesm.jpg/

3 个答案:

答案 0 :(得分:2)

如果你将具有match_parent宽度和高度的FrameLayout放在LinearLayout中,则所有内容都会隐藏在屏幕之外。

添加该页脚有两种形式:

首先,使用以下尺寸设置framelayout:

<FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">

二,使用RelativeLayout并将所有内容设置为低于其他内容,如果要在内容上方添加页脚,或者如果您希望页脚与内容一起显示最后一个视图,则添加具有layout_alignParentBottom = true的页脚。

答案 1 :(得分:0)

ListView.addFooterView怎么样?

来自文档:

  

添加固定视图以显示在列表底部。如果是addFooterView   不止一次被调用,视图将按照它们的顺序出现   添加。使用此调用添加的视图可以在需要时获得焦点。

     

注意:在调用setAdapter之前调用它。这是ListView可以的   将提供的光标包装为也会占用标头的光标   和页脚的观点。

答案 2 :(得分:0)

也许这可以帮到你。

创建一个名为footer.xml的文件 并将此代码添加到其中

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="40dp"
    android:layout_gravity="bottom"
    android:gravity="bottom"
 android:layout_weight=".15"
    android:orientation="horizontal"
    android:background="@drawable/bckkaup" >
    <ImageView
        android:id="@+id/lborder"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight=".14"
        android:background="@drawable/action_bar_left_button"
        android:src="@drawable/over_9"
        android:scaleType="fitXY" />
    <ImageView
        android:id="@+id/unknown"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight=".14"
        android:background="@drawable/action_bar_left_button"
        android:src="@drawable/cartoon_9"
        android:scaleType="fitXY" />

    <ImageView
        android:id="@+id/open"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight=".14"
        android:background="@drawable/action_bar_left_button"
        android:src="@drawable/gallery_9"
        android:scaleType="fitXY"
        android:hapticFeedbackEnabled="true"
        android:soundEffectsEnabled="true"

        />

    <View
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.03" 
        android:src="@drawable/action_bar_right_button"
        android:background="@drawable/action_bar_left_button"
        />

    <ImageView
        android:id="@+id/opencam"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight=".14"
        android:background="@drawable/action_bar_left_button"
        android:src="@drawable/camera_9"
        android:scaleType="fitXY"
        android:hapticFeedbackEnabled="true"
        android:soundEffectsEnabled="true"
        />
    <ImageView
        android:id="@+id/color"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight=".14"
        android:background="@drawable/action_bar_left_button"
        android:src="@drawable/stylish_9"
        android:scaleType="fitXY" />
        <ImageView
        android:id="@+id/rborder"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:background="@drawable/action_bar_left_button"
        android:src="@drawable/frame_9"
        android:layout_weight=".14" 
        android:scaleType="fitXY"/>


</LinearLayout>

然后在main layout 添加此代码

 <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="40dp"
    android:id="@+id/down"
    android:layout_alignParentBottom="true" >

    <include
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        layout="@layout/footer" >

    </include>
</LinearLayout>    

这会给你一个页脚。你可以改变引力,使其成为标题。 我知道你要求标签,但我认为我应该与你分享它也许它无论如何都会让你受益。