在android中添加tabhost中的滚动 [英] Adding scroll in tabhost in android

查看:124
本文介绍了在android中添加tabhost中的滚动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个标签主机,其中有6个以上的按钮。但是屏幕只显示3-4个按钮。



以下是我与图像一起使用的代码。

 <?xml version =1.0encoding =utf-8?> 
< TabHost xmlns:android =http://schemas.android.com/apk/res/android
android:id =@ android:id / tabhost
android: layout_width =fill_parent
android:layout_height =fill_parent
android:background =#777777>

< RelativeLayout
android:layout_width =fill_parent
android:layout_height =fill_parent

>
< RelativeLayout
android:id =@ + id / layTab
android:layout_width =fill_parent
android:layout_height =wrap_content
android:重力=center
android:paddingLeft =10dp
android:paddingRight =10dp
android:background =@ drawable / navbar_background
android:layout_alignParentBottom = true
android:layout_centerVertical =true
>
< TabWidget
android:id =@ android:id / tabs
android:layout_width =fill_parent
android:layout_height =wrap_content
android :layout_centerVertical =true
/>
< / RelativeLayout>
< FrameLayout
android:id =@ android:id / tabcontent
android:layout_width =fill_parent
android:layout_height =fill_parent
android :layout_alignParentTop =true
android:layout_above =@ + id / layTab/>


< / RelativeLayout>
< / TabHost>



问题是,我想如何添加滚动条,以便我可以滚动到所有6个按钮或任何其他的技巧。



最好的问候

解决方案

只需将TabWidget嵌套在Horizo​​ntalScrollingView中,像这样:

 <?xml version =1.0encoding =utf-8?> 
< TabHost xmlns:android =http://schemas.android.com/apk/res/android
android:id =@ android:id / tabhost
android: layout_width =fill_parent
android:layout_height =fill_parent
android:background =#777777>

< RelativeLayout
android:layout_width =fill_parent
android:layout_height =fill_parent>

< RelativeLayout
android:id =@ + id / layTab
android:layout_width =fill_parent
android:layout_height =wrap_content
android:layout_alignParentBottom =true
android:layout_centerVertical =true
android:background =@ drawable / navbar_background
android:gravity =center
android :paddingLeft =10dp
android:paddingRight =10dp>

< Horizo​​ntalScrollView
android:layout_width =fill_parent
android:layout_height =wrap_content
android:fillViewport =true
android: scrollbars =none>

< TabWidget
android:id =@ android:id / tabs
android:layout_width =wrap_content
android:layout_height =wrap_content> ;
< / TabWidget>
< / Horizo​​ntalScrollView>
< / RelativeLayout>

< FrameLayout
android:id =@ android:id / tabcontent
android:layout_width =fill_parent
android:layout_height =fill_parent
android:layout_above =@ + id / layTab
android:layout_alignParentTop =true/>
< / RelativeLayout>

< / TabHost>

顺便说一下,此解决方案适用于许多其他场景,例如RadioGroup,


I have a tab host in which i have more than 6 buttons. However the screen shows only 3-4 buttons.

Following is the code which i am using along with the image.

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#777777">

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"

        >
       <RelativeLayout
            android:id="@+id/layTab"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:background="@drawable/navbar_background"
            android:layout_alignParentBottom="true"
            android:layout_centerVertical="true"
            >
            <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            />
        </RelativeLayout>
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_alignParentTop="true"
            android:layout_above="@+id/layTab"/>


   </RelativeLayout>
</TabHost>

The question is, How am i suppose to add a scroll so that i can scroll upto all 6 buttons or any other trick.

Best Regards

解决方案

Just nest the TabWidget inside a HorizontalScrollingView, like this:

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#777777" >

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

        <RelativeLayout
            android:id="@+id/layTab"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerVertical="true"
            android:background="@drawable/navbar_background"
            android:gravity="center"
            android:paddingLeft="10dp"
            android:paddingRight="10dp" >

            <HorizontalScrollView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:fillViewport="true"
                android:scrollbars="none" >

                <TabWidget
                    android:id="@android:id/tabs"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >
                </TabWidget>
            </HorizontalScrollView>
        </RelativeLayout>

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_above="@+id/layTab"
            android:layout_alignParentTop="true" />
    </RelativeLayout>

</TabHost>

By the way, this solution works for many other scenarios, RadioGroup, for example

这篇关于在android中添加tabhost中的滚动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆