Android实现横纵滚动标题不动框架

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android实现横纵滚动标题不动框架相关的知识,希望对你有一定的参考价值。

参考技术A 用自定义标题栏。
用自定义标题栏,只要把系统自带的标题栏去掉就行。做法:requestWindowFeature(Window.FEATURE_NO_TITLE),自己再写两个布局块(LinearLayout布局)充当顶部和底部的标题栏即可,中间使用ScrollView即可完成。
如果应用需要添加水平滚动条,则可借助于另一个滚动视图HorizontalScrollView来实现。

这个非常经典的android应用布局是怎样实现的?

如上,非常经典的布局:
上面不动, 下面不动,用来放一些按钮。 只有中间是可以滚动显示的 ,放新闻列表等等。
不管手机的屏幕各异, 上面永远在上面, 下面永远在下面, 中间永远填充顶部和底部之间的空间并且可以滚动。

这种布局方式是怎么实现的啊?LinearLayout? RelativeLayout? 哪写组件?
麻烦先给个思路, 然后最好给写个demo ,写个伪代码大致意思一下也行, 谢谢啦!

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

    <LinearLayout
        android:id="@+id/layout_top"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" >
        添加顶部内容
    </LinearLayout>

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/layout_top" >
        这里可以添加scroll的内容
    </ScrollView>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true" >
        添加底部内容
    </LinearLayout>

</RelativeLayout>

有哪行不懂可以问我

参考技术A

分两种情况:

    如果加载的时候不使用切换动画,或者说切换时整个界面都跟着动。

    这时候可以写一个BaseActivity,把上面和下面部分放在里面实现,对应一个布局common_bar.xml,在BaseActivity里面去实例化并添加对应事件处理。其余的每个activity需要用到此上下的,都继承BaseActivity.

    如果加载的时候使用切换动画,而且切换时只有中间部分有切换效果。

    这时候只能写一个activity,中间部分用一个容器来动态加载就好了。

布局实现:

最外层用RelativeLayout,底部layout设置在与父容器底部对齐,设置一个高度为100dp。

中间部分layout设置在顶部layout的下方,宽高都match_parent,并且距离底部100dp。

这样就实现了你的要求,至于layout里面具体的实现应该不用我说了吧,很简单了。

参考技术B 大致可以是
<linearlayout>
<linearlayout>
<button>

</button>

</linearlayout>
<listview>
<linearlayout>
<button>

</button>
</linearlayout>
</linearlayout>

以上是关于Android实现横纵滚动标题不动框架的主要内容,如果未能解决你的问题,请参考以下文章

C#两个datagridview分别绑定了相同结构的内容不同的DATATABLE,求两个datagridview的横纵滚动条同步滚动

如何获得列表视图的水平滚动和垂直滚动?

这个非常经典的android应用布局是怎样实现的?

如何在游戏中滚动背景?

html中表格水平和垂直滚动,表头垂直不动,可以水平滚动,大神们请问怎么实现啊?

是否可以在第一列不动的情况下使 UICollectionView 视图水平滚动?