package com.example.scrollview; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.LinearLayout; import android.widget.ScrollView; import android.widget.TextView; public class MainActivity extends Activity { private ScrollView sView; private LinearLayout linearLayout; private Button button; private TextView textView; private Handler myHandler = new Handler(); //当前滚屏的高度 private int sHeight ; private Intent myIntent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sView = (ScrollView)findViewById(R.id.scrollView); linearLayout = (LinearLayout)findViewById(R.id.linearLayout); button = (Button)findViewById(R.id.button); textView = (TextView)findViewById(R.id.textView); sHeight = sView.getHeight(); button.setOnClickListener(new myOnclickListener()); } /** * button事件: * 1.点击button在linearlayout中动态添加textView和button * 2.触发ScrollView的滚屏操作,滚动到最新添加的button处 * */ class myOnclickListener implements OnClickListener{ int index = 0; @Override public void onClick(View v) { LinearLayout.LayoutParams linearLayoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); TextView addText = new TextView(MainActivity.this); addText.setText("textView"+index); Button addButton = new Button(MainActivity.this); addButton.setText("button"+index); addButton.setId(index++); linearLayout.addView(addText, linearLayoutParams); linearLayout.addView(addButton, linearLayoutParams); myHandler.post(mScrollToButton); } } private Runnable mScrollToButton = new Runnable() { @Override public void run() { //linearLayout的总高度 System.out.println("linearLayout.getMeasuredHeight() =>"+linearLayout.getMeasuredHeight()); //定位:位置 = 总高度 - 当前屏幕的高度 int off = linearLayout.getMeasuredHeight() - sHeight; if(off > 0){ //向下滚屏 sView.scrollBy(0, off); } } }; @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
相关推荐
本文实例讲述了Android控件之ScrollView用法。分享给大家供大家参考。具体如下: ScrollView滚动视图是指当拥有很多内容,屏幕显示不完时,需要通过滚动跳来显示的视图。 ScrollView只支持垂直滚动。 以下为案例 ...
5. 使用`dequeueReusableCellWithIdentifier:`方法来重用ScrollView的子视图,这样可以优化性能,防止内存占用过多。 在"ScrollView循环"这个压缩包中,可能包含了实现上述功能的示例代码。通过研究这些代码,你...
首先,我们来了解ScrollView的基本用法。在XML布局文件中,你可以像这样添加一个ScrollView: ```xml <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_...
超级列表SuperScrollview使用模板.unitypackage
有时候项目在ListView中需要显示EditText,CheckBox等控件,这样就会出现一个问题,滑动时或失去焦点时编辑信息混乱。...这里提供了令一种解决方法,ScrollView,+LinearLayout模拟ListView完美解决。
要监听UIScrollView的滚动事件,可以使用`scrollViewDidScroll`代理方法: ```swift extension ViewController: UIScrollViewDelegate { func scrollViewDidScroll(_ scrollView: UIScrollView) { // 在这里...
本篇将详细讲解cocos2d-x中ScrollView的使用方法。 1. **ScrollView简介** ScrollView是一个可滚动的视图容器,它可以包含一个或多个子节点,并且这些子节点可以在水平或垂直方向上滚动。开发者可以通过ScrollView...
1)ScrollView垂直滚动控件使用方法 1、在layout布局文件的最外层建立一个ScrollView控件 2、在ScrollView控件中加入一个LinearLayout控件,并且把它的orientation设置为vertical 3、在LinearLayout控件中放入多个...
总的来说,"ScrollViewDemo"项目通过Swift 3.0和Xcode 8向我们展示了如何利用ScrollView实现动态的图片展示效果,这不仅涉及到基础的ScrollView用法,还涉及到手势识别、视图变换以及AutoLayout的综合运用。...
这些视图的总宽度应大于ScrollView的contentSize.width。 3. **设置contentSize**:根据子视图的布局,计算并设置contentSize,使得contentSize.width等于所有子视图的总宽度。 4. **实现滚动逻辑**:如果需要自动...
ScrollView的基本用法是将其作为其他布局(如LinearLayout或RelativeLayout)的父容器,以实现可滚动的效果。下面我们将深入探讨ScrollView的相关知识点。 1. **ScrollView的引入** 在XML布局文件中,通过`...
总的来说,"ScrollView与自定义滑块结合使用的Demo"是一个涉及到触摸事件处理、组件间通信、动画实现等多个Android开发技术的综合案例。它展示了如何通过自定义组件和巧妙的事件处理,来实现更复杂的用户交互。这...
这可以通过在 JavaScript 代码中使用 `add()` 方法来实现。例如,`scrollView.add(childView)` 将 `childView` 添加到 ScrollView 中。 2. **scrollType**:你可以设置 `scrollType` 属性来决定 ScrollView 的滚动...
本篇将深入探讨如何在Android应用中使用大小两个ScrollView来显示图片,并结合标签"ScrollView"和"显示图片"进行详细的讲解。 首先,ScrollView本身是一个可以垂直滚动的单向布局,它只能包含一个直接的子视图。这...
2. **创建ScrollView**:然后,使用`CCScrollView::create()`静态方法创建ScrollView对象,并设置其大小和方向。例如,创建一个垂直滚动的ScrollView: ```cpp auto scrollView = CCScrollView::...
通过实现UIScrollViewDelegate协议的方法,如`scrollViewDidScroll:`,我们可以监听ScrollView的滚动状态,并根据需要进行相应的处理。例如,在自动滚动时,我们可能需要暂停或恢复定时器,以避免与用户的滑动操作...
可以通过重写ScrollView的onInterceptTouchEvent和onTouchEvent方法,根据当前滑动的方向和速度判断应该由哪个ScrollView处理滑动事件。一般情况下,如果滑动方向与内层ScrollView的滚动方向一致,则让内层...
在本文中,我们将深入探讨`UIScrollView`的使用,包括其关键属性、图片缩放以及如何实现图片轮播。 首先,让我们来了解`UIScrollView`的一些基本属性: 1. `contentSize`:这个属性定义了滚动视图可以滚动的内容...
通过继承ScrollView并重写其`onMeasure()`和`onScrollChanged()`方法,可以实现自定义的滚动逻辑。 8. **适配器和ListView/RecyclerView**:虽然ScrollView本身并不直接支持列表样式的数据展示,但可以通过结合...
`addUpdateListener`监听器会在每一帧更新时调用,我们使用`smoothScrollBy()`方法来更新ScrollView的滚动位置。最后,设置动画的持续时间和启动动画。 需要注意的是,为了实现自定义动画效果,你可能需要根据实际...