首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

动态添加scrollview中的scrollview和scrollview中的linearlayout

动态添加scrollview中的scrollview和scrollview中的linearlayout是一种在Android应用开发中常见的操作,用于在运行时向布局中添加和显示视图。在这种情况下,需要特别注意视图的层次结构,以确保滚动功能正常工作。以下是一个简单的示例,说明如何在scrollview中动态添加scrollview和linearlayout:

  1. 在布局文件中添加一个scrollview,例如:
代码语言:xml<ScrollView
复制
    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:id="@+id/scrollView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true">

   <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="16dp">
    </LinearLayout>
</ScrollView>
  1. 在Activity中动态添加scrollview和linearlayout:
代码语言:java
复制
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ScrollView scrollView = findViewById(R.id.scrollView);
        LinearLayout linearLayout = findViewById(R.id.linearLayout);

        for (int i = 0; i < 10; i++) {
            ScrollView nestedScrollView = new ScrollView(this);
            nestedScrollView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));

            LinearLayout nestedLinearLayout = new LinearLayout(this);
            nestedLinearLayout.setOrientation(LinearLayout.VERTICAL);
            nestedLinearLayout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));

            for (int j = 0; j < 5; j++) {
                TextView textView = new TextView(this);
                textView.setText("这是一个动态添加的TextView");
                textView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
                nestedLinearLayout.addView(textView);
            }

            nestedScrollView.addView(nestedLinearLayout);
            linearLayout.addView(nestedScrollView);
        }
    }
}

这个示例中,我们在布局文件中定义了一个scrollview,并在其中嵌套了一个linearlayout。然后,在Activity中动态添加了10个scrollview和linearlayout对,每个scrollview中包含5个textview。

注意:在嵌套滚动视图时,需要特别注意滚动冲突。在这个示例中,我们使用了ScrollView,它会拦截触摸事件,以便只有它自己才能滚动。如果需要更复杂的滚动行为,可以考虑使用NestedScrollView,它提供了更好的嵌套滚动支持。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何判断 ScrollView、List 是否正在滚动

List .introspectScrollView { scrollView in scrollView.delegate = delegate...} }}// 添加ScrollView、List 子视图之上,用于在位置发生变化时发送信息func scrollSensor() -> some View { overlay(...ScrollView + VStack( HStack )这类组合,只需为可滚动视图添加一个 scrollSensor 即可。...对于 List、ScrollView + LazyVStack( LazyHStack )这类组合,需要为每个子视图都添加一个 scrollSensor。...判断准确度没有前两种方式高当可滚动组件内容出现了非滚动引起尺寸或位置变化( 例如 List 某个视图尺寸发生了动态变化 ),本方式会误判断为发生了滚动,但在视图变化结束后,状态会马上恢复到滚动结束滚动开始后

3.7K40

深入了解 SwiftUI 5 ScrollView 新功能

在 SwiftUI 5.0 ,苹果大幅强化了 ScrollView 功能。新增了大量新颖、完善 API。本文将对这些新功能进行介绍,希望能够让它们更多、更早帮助到有需要开发者。...不限于 ScrollView,支持所有可滚动容器(包括 List、TextEditor 等)。 将可滚动容器内所有子视图视为一个整体,并为其添加 margin。...例如,在下面的代码,为 ScrollView leading 方向添加安全区域两种方式效果是一致。...例如,下面的两种实现ScrollView 底部空间是不同。...总结 我完全没有想到,在 SwiftUI 5 ,苹果对 ScrollView 进行了全面增强。值得赞赏是,他们不仅提供了一些一直期待功能,而且在 API 设计实现完成度上都非常出色。

69020

Android控制禁止ScrollView自动滑动到底部方法

一、Android 控制ScrollView滚动到底部 在开发,我们经常需要更新列表,并将列表拉倒最底部,比如发表微博,聊天界面等等, 这里有两种办法,第一种,使用scrollTo(): public...(ScrollView.FOCUS_DOWN);滚动到底部 scrollView.fullScroll(ScrollView.FOCUS_UP);滚动到顶部 需要注意是:该方法不能直接被调用 因为Android...所以需要一部操作,addView完之后,不等于马上就会显示,而是在队列中等待处理,虽然很快,但是如果立即调用fullScroll, view可能还没有显示出来,所以会失败 应该通过handler在新线程更新...、ListView等类似的控件时,当从网络上获取数据时刷新界面,此事发生情况是: ScrollView 自动滑到屏幕最低端,具体来说时滑动展示数据最后一条位置,如果此时进行下拉刷新,也会出现布局显示不合理状况...如何解决 让 childView 焦点被截获 具体方案 ScrollView LinearLayout 中加了android:descendantFocusability="blocksDescendants

3.5K20

Android ScrollView设置初始position方法

刚听到这个需求时候,觉得这个很简单,直接设置ScrollView初始滚动值即可。然而,当真正实现时候却发现,Android压根没有方法可以设置ScrollView初始滚动值。...但是为难是如何做到初始化ScrollView默认滚动值。如果在onCreate里面调用scrollTo是无效,因为这时候ScrollView都没有布局好。...难道是通过反射scrollY这个成员变量动态修改它value? 于是自己动手在onCreate时候通过反射修改ScrollViewscollY属性。...也就是说其实Animator是通过setScollY这个方法来实现动态滚动ScrollView。而setScrollY底层其实就是调用scrollTo。 ? 到此似乎饶了个大圈子又回到了起点。...通过断点查看源码确认,这个保存ScrollView当前滚动位置scrollY属性全名叫做mScrollY,而这个mScrollY并不是ScrollView成员,而是其父类View属性成员。

4K80

Android 控制ScrollView滚动实例详解

Android 控制ScrollView滚动实例详解 在开发,我们经常需要更新列表,并将列表拉倒最底部,比如发表微博,聊天界面等等, 这里有两种办法,第一种,使用scrollTo(): public...(ScrollView.FOCUS_DOWN);滚动到底部 scrollView.fullScroll(ScrollView.FOCUS_UP);滚动到顶部 需要注意是,该方法不能直接被调用因为Android...所以需要一部操作,addView完之后,不等于马上就会显示,而是在队列中等待处理,虽然很快,但是如果立即调用fullScroll, view可能还没有显示出来,所以会失败,应该通过handler在新线程更新...handler.post(new Runnable() { @Override public void run() { scrollView.fullScroll(ScrollView.FOCUS_DOWN...); } }); 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望通过本文能帮助到大家,谢谢大家对本站支持!

90121

Android解决ScrollView下嵌套ListViewGridView内容显示不全问题

最近为公司做一个Demo里面用到了ScrollView嵌套了GridViewListView,然而在嵌套时候我发现GridViewListView都是不能完全显示,显示基本上都是单行数据,最后查找资料翻阅文档看到原因是...ListViewGridView绘制过程ScrollView无法准确测量自身高度,而且listVIewGridView抢占了焦点,使得ListViewGrideView具有自身显示效果...我XMl部分代码如下: <ScrollView android:layout_height="match_parent" android:layout_width="fill_parent...</ScrollView 显示效果是这样其中ListviewGridView是可以滑动就是显示不全 ?...(0, 0); //此处方法并不好 //5其中5是我们在Xmlandroid:numColumns="5" //FontDisplayUtil.dip2px(

2.3K20

基础篇章:React Native之 ScrollView 讲解

(友情提示:RN学习,从最基础开始,大家不要嫌弃太基础,会同学请自行略过,希望不要耽误已经会同学宝贵时间) 编者按:其实我并不太喜欢在周末发公众号,毕竟大家都在休息放松,不想学习,但是今天在群里我看到有人说...回馈给一直跟着我学习程序员开发者。...onScroll function 在滚动过程,每帧最多调用一次此回调函数。调用频率可以用scrollEventThrottle属性来控制。...我穿衣打扮 来,一起来看看,我有哪些外在服饰化妆品,可以使用更佳美观漂亮,修饰我内在外在。...,还有几个android相关,还有很多与ios相关属性,我就不再介绍了,自己去官方文档查查吧。

1.9K50

Android开发实现ScrollView嵌套两个ListView方法

本文实例讲述了Android开发实现ScrollView嵌套两个ListView方法。...分享给大家供大家参考,具体如下: 做项目中要使用两个ListView在同一个页面上下显示,因为数据源不同,不能通过在Adapter设置标志位去区分显示,最后只能硬着头皮做一个ScrollView嵌套两个... 添加两个Listview显示布局 public static void setListViewHeightBasedOnChildren(ListView listView) { ListAdapter...ListViewUtility,并且两个ListView要填充完再添加,两个ListViewadpter布局最外层要使用LinearLayout,只有LinearLayout 在ListViewUtility...才能成功测量每个Item 高度,不然就会出错 更多关于Android相关内容感兴趣读者可查看本站专题:《Android基本组件用法总结》、《Android开发入门与进阶教程》、《Android布局

1.4K20

AndroidScrollView简单使用实例(附Demo)

1.垂直滚动:Scroll 新建一个应用程序: 在MainActivity布局文件上做个实验,现在设置了按钮1按钮2后还剩下一些空位: ? 再设置一个按钮3让他超出屏幕之外: ?...1.改变这个布局文件根布局:把根布局改成:ScrollView 注意:ScrollView子元素只能有一个,所以得增加一个LinearLayout布局,把其他按键放在这个LinearLayout,...那么ScrollViewd子元素就只有一个LinearLayout了,而LinearLayout子元素不限制。...所以在HorizontalScrollView布局再加一个子布局LinearLayout,且LinearLayout为水平方向: ? 代码如下: 运行应用程序,因为外面还嵌套了一层ScrollView所以能垂直滚动水平滚动

1.6K20

android scrollview嵌套listview计算高度问题

ScrollView只能放一个控件,一般都放LinearLayout,orientation属性值为vertical。在LinearLayout中放需要呈现内容。...但是为啥在scrollview嵌套listview会出现只显示第一条listitem高度呢,原因是:scrollviewontach方法滚动事件消费处理,ListView控件高度设定问题 从谷歌那里找到...ScrollView嵌套ListView只显示一行解决办法相信很多人都遇到过,然后大部分都是用这位博主办法解决吧 刚开始我也是用这个办法解决,首先感谢这位哥大私奉献,贴上地址 http:/...)this.getParent()).getPaddingLeft();   float paddingReft = ((LinearLayout)this.getParent()).getPaddingRight...layout = new LinearLayout(getContext()); layout.setLayoutParams(params); layout.setOrientation(VERTICAL

2.3K60

uniapp ScrollView 组件上拉分页不滚动到最顶部

介绍: 在UniApp,如果想要实现类似微信聊天页面的上拉加载更多历史聊天记录功能,每次上拉到顶部时,界面不会自动滚动到最顶部,而是停留在当前位置。...本指南将展示如何使用ScrollView组件实现这一功能。步骤:在scroll-view组件绑定scroll-into-view属性,并设置为一个变量scrollViewIntoView。...>CSS:#scroll-view-content { display: flex; flex-direction: column-reverse;}在数据绑定,...根据上拉加载数据,将其添加到list数组,并将变量scrollViewIntoView设置为加载前最后一个元素id。...(加载前最后一个元素) }}通过以上步骤,您可以实现在UniApp中使用ScrollView组件进行上拉加载更多历史记录时,界面不会滚动到最顶部,而是停留在当前位置。

44521

让你布局滚动起来—ScrollView

在使用过程,可能会遇到这样场景,当绘制UI控件超出手机屏幕尺寸时候,就会导致此UI控件无法显示。...↳android.widget.ScrollView 可以看出, ScrollView原来是一个 FrameLayout容器,不过在他基础上添加了滚动,允许显示比实际多内容。...> 通过 AndroidStudio Preview视图也可以看出,5个 Button已超出屏幕显示,在不使用 ScrollView情况下,父布局直接使用 LinearLayout...可以看出, HorizontalScrollView图片内容,可以横向滑动,并且整个布局由于外部嵌套了 ScrollView,整体页可以竖直方向滑动。...注意:同 ScrollView, HorizontalScrollView子元素也只能有一个,否则报错。

3.4K30

View有效曝光监控(下)|ScrollView NestScrollView篇

ScrollviewNestScrollView怎么监控呢。 我:???黑人老哥又特么来了。 image.png 分析问题 还是上篇文章一样,我们先看下要解决哪些问题。...ScrollView NestScrollView 滑动监控怎么做。 View有没有像RecyclerView一样attachdetch方法,超过1.5s曝光时间。 View出现一半。...onScrollChanged也是Viewprotected方法,而当ScrollViewNestScrollView滑动状态被改变时候就会调用这个方法,而这个方法内则就会把状态设置成true...测试结果 经过在下测试吧,OnScrollChangedListener在ScrollViewNestScrollView滑动时候都会触发回调哦。...我:谦虚有理小菜逼。 面试官:这种方式感觉还是不够智能,如果让你用动态插桩呢。 我:打扰了,二营长,把我意大利炮抬过来。 面试官:回家继续等通知把。

1.3K30
领券