【Android+Kotlin】NestedScrollView

【Android+Kotlin】NestedScrollView,第1张

概述扉:找了蛮多帖子感觉不是很友好,找到了一个帖子并升级了androidx这个帖子不错AppBarLayout与沉浸式布局好看CollapsingToolLayout可折叠工具栏下载地址[]1.效果图上面是banner区域向下拖动到一定程度图片会变暗幕固定中间的悬浮部分下侧RecycleView正常滑动2.上代码 扉:找了蛮多帖子感觉不是很友好,找到了一个帖子并升级了androIDx这个帖子不错AppBarLayout与沉浸式布局好看CollapsingToolLayout可折叠工具栏下载地址[]1. 效果图上面是banner区域
@H_404_23@

向下拖动到一定程度图片会变暗幕
@H_404_23@

固定中间的悬浮部分 下侧RecycleVIEw正常滑动
@H_404_23@

2. 上代码1. XML注意事项
1)将需要悬浮的layout放到CollapsingToolbarLayout之外,AppbarLayout之内
2)将CollapsingToolbarLayout的app:layout_scrollFlags设置为scroll
3)给滚动的nestedScroolVIEw设置
app:layout_behavior="@String/appbar_scrolling_vIEw_behavior"
就大功告成了(记得根布局要是CoordinatorLayout)
<?xml version="1.0" enCoding="utf-8"?><androIDx.coordinatorlayout.Widget.CoordinatorLayout    xmlns:androID="http://schemas.androID.com/apk/res/androID"    xmlns:app="http://schemas.androID.com/apk/res-auto"    xmlns:tools="http://schemas.androID.com/tools"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:fitsSystemwindows="true"    tools:context=".MainActivity">    <com.Google.androID.material.appbar.AppbarLayout        androID:layout_wIDth="match_parent"        androID:layout_height="wrap_content">        <com.Google.androID.material.appbar.CollapsingToolbarLayout            androID:layout_wIDth="match_parent"            androID:layout_height="220dp"            app:contentScrim="#000000"            app:layout_scrollFlags="scroll">            <androIDx.appcompat.Widget.AppCompatimageVIEw                androID:layout_wIDth="match_parent"                androID:layout_height="match_parent"                androID:background="@drawable/banner"/>            <TextVIEw                androID:layout_wIDth="match_parent"                androID:layout_height="match_parent"                androID:gravity="center"                androID:text="banner区域"                androID:textcolor="#000000" />        </com.Google.androID.material.appbar.CollapsingToolbarLayout>        <TextVIEw            androID:layout_wIDth="match_parent"            androID:layout_height="30dp"            androID:gravity="center"            androID:text="悬浮的部分" />    </com.Google.androID.material.appbar.AppbarLayout>    <androIDx.core.Widget.nestedScrollVIEw        androID:layout_wIDth="match_parent"        androID:layout_height="match_parent"        app:layout_behavior="@string/appbar_scrolling_vIEw_behavior">        <com.ywjh.nestedscrollvIEw.MyListVIEw            androID:ID="@+ID/lv"            androID:layout_wIDth="match_parent"            androID:layout_height="match_parent" />    </androIDx.core.Widget.nestedScrollVIEw></androIDx.coordinatorlayout.Widget.CoordinatorLayout>
2. MyListVIEw
package com.ywjh.nestedscrollvIEwimport androID.content.Contextimport androID.util.AttributeSetimport androID.Widget.ListVIEwclass MyListVIEw : ListVIEw {    constructor(context: Context?) : super(context) {}    constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) {}    constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(        context,        attrs,        defStyleAttr    ) {    }    public overrIDe fun onMeasure(wIDthMeasureSpec: Int, heightmeasureSpec: Int) {        val expandSpec = MeasureSpec.makeMeasureSpec(            Int.MAX_VALUE shr 2,            MeasureSpec.AT_MOST        )        super.onMeasure(wIDthMeasureSpec, expandSpec)    }}
3. MAC
package com.ywjh.nestedscrollvIEwimport androID.os.Bundleimport androID.vIEw.VIEwimport androID.Widget.ArrayAdapterimport androIDx.appcompat.app.AppCompatActivityimport java.util.*class MainActivity : AppCompatActivity() {    private var lv: MyListVIEw? = null    private var List: MutableList<String?>? = null    overrIDe fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContentVIEw(R.layout.activity_main)        lv = findVIEwByID<VIEw>(R.ID.lv) as MyListVIEw        List = ArrayList()        for (i in 0..99) {            List?.add(i.toString() + "")        }        val adapter: ArrayAdapter<*> =            ArrayAdapter<Any?>(this, androID.R.layout.simple_List_item_1,                List as ArrayList<String?> as List<Any?>            )        lv!!.adapter = adapter    }}
总结

以上是内存溢出为你收集整理的【Android+Kotlin】NestedScrollView全部内容,希望文章能够帮你解决【Android+Kotlin】NestedScrollView所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1042727.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存