ScrollView卷轴视图是指当拥有很多内容,一屏显示不完时,需要通过滚动跳来显示的视图.的使用:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:scrollbars="vertical">
<LinearLayout android:id="@+id/LinearLayout"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView android:id="@+id/TestView" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="TestView0" />
<Button android:id="@+id/Button" android:text="Button0" android:layout_width="fill_parent"
android:layout_height="wrap_content"></Button>
</LinearLayout>
</ScrollView>
package com.Aina.Android;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;
public class Test_ScrollView extends Activity {
/** Called when the activity is first created. */
private LinearLayout mLayout;
private ScrollView sView;
private final Handler mHandler = new Handler();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 创建一个线性布局
mLayout = (LinearLayout) this.findViewById(R.id.LinearLayout);
// 创建一个ScrollView对象
sView = (ScrollView) this.findViewById(R.id.ScrollView);
Button mBtn = (Button) this.findViewById(R.id.Button);
mBtn.setOnClickListener(mClickListener);// 添加点击事件监听
}
public boolean onKeyDown(int keyCode, KeyEvent event){
Button b = (Button) this.getCurrentFocus();
int count = mLayout.getChildCount();
Button bm = (Button) mLayout.getChildAt(count-1);
if(keyCode==KeyEvent.KEYCODE_DPAD_UP && b.getId()==R.id.Button){
bm.requestFocus();
return true;
}else if(keyCode==KeyEvent.KEYCODE_DPAD_DOWN && b.getId()==bm.getId()){
this.findViewById(R.id.Button).requestFocus();
return true;
}
return false;
}
// Button事件监听,当点击第一个按钮时增加一个button和一个textview
private Button.OnClickListener mClickListener = new Button.OnClickListener() {
private int index = 1;
@Override
public void onClick(View v) {
TextView tView = new TextView(Test_ScrollView.this);//定义一个TextView
tView.setText("TextView" + index);//设置TextView的文本信息
//设置线性布局的属性
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
mLayout.addView(tView, params);//添加一个TextView控件
Button button = new Button(Test_ScrollView.this);//定义一个Button
button.setText("Button" + index);//设置Button的文本信息
button.setId(index++);
mLayout.addView(button, params);//添加一个Button控件
mHandler.post(mScrollToButton);//传递一个消息进行滚动
}
};
private Runnable mScrollToButton = new Runnable() {
@Override
public void run() {
int off = mLayout.getMeasuredHeight() - sView.getHeight();
if (off > 0) {
sView.scrollTo(0, off);//改变滚动条的位置
}
}
};
}
此示例中一个TextView和一个Button来实现自动滚动,当我们点击Button0时自动产生多个类似的项,如果一屏显示不完,则通过ScrollView来显示。
分享到:
相关推荐
一个基本的ScrollView使用示例如下: ```xml <ScrollView android:id="@+id/scrollView_showMessages" android:layout_width="match_parent" <!-- 更改为 fill_parent 也行,但 match_parent 是更现代的写法 --> ...
在Android开发中,ScrollView是一种常用的布局控件,用于容纳单个子视图并允许用户滚动查看超出屏幕的内容。本文将详细讲解如何实现ScrollView向上滑动时,控件顶部悬浮的效果,这种效果通常被称为“头部固定”或...
1. **使用NestedScrollView**:Android SDK提供了一个名为NestedScrollView的类,它是ScrollView的一个扩展,专门为了解决嵌套滚动问题。NestedScrollView能够更好地处理滑动事件,支持滚动嵌套和平滑滚动。在本示例...
1. **使用NestedScrollView**:Android Support Library提供了一个名为NestedScrollView的类,它是ScrollView的一个优化版本,特别设计用于处理嵌套滚动。NestedScrollView支持Android的NestedScrolling机制,允许子...
在Android开发中,ScrollView是一个非常常见的布局控件,它允许用户滚动查看内容,特别是当内容超过屏幕显示范围时。在给定的标题“android ScrollView中控件滑动顶端固定”中,我们讨论的是如何实现一个特定的效果...
亲测成功,可以直接嵌套项目中 ScrollView嵌套TabLayout+ViewPager解决滑动冲突,已进行重点标注 ViewPager会根据frament的界面高度进行展示,进行framnet的高度测量 嵌套冲突已全部解决
1. **ScrollView的使用**:ScrollView是Android的基础布局之一,它只能包含一个直接子视图。如果需要包含多个视图,通常会嵌套使用LinearLayout、RelativeLayout等布局作为其直接子视图。 2. **...
在Android开发中,ScrollView是一个非常基础且常用的布局控件,它允许用户滚动其内容,当内容超出屏幕范围时。然而,标准的ScrollView并不支持弹性滑动效果,即在滑动到边界时产生回弹的效果。这通常是通过第三方库...
在Android开发中,ScrollView是一种常用的布局控件,用于实现可滚动的内容区域。在这个特定的案例中,"Android Scrollview上滑停靠—悬浮框停靠在标题栏下方(防微博详情页)" 是一个功能实现,它模拟了类似微博...
标题中提到的"android ScrollView顶部使用Viewpager的轮播图"意味着我们需要在一个ScrollView内嵌套一个ViewPager,这样用户可以在垂直滚动整个页面时,水平滑动浏览轮播图。而"下拉图片能放大效果"则意味着当用户...
在Android开发中,ScrollView是一个非常常见的布局控件,它允许用户在内容超出屏幕时通过滚动来查看所有内容。本文将深入探讨如何实现ScrollView的自动滑动功能,特别是在创建"关于我们"页面时,如何让ScrollView...
在Android开发中,ScrollView是一种常用的布局控件,它允许用户通过滚动查看超出屏幕范围的内容。然而,ScrollView并不直接支持下拉刷新功能,这是现代移动应用中常见的交互模式,特别是用于加载更多数据或更新内容...
在Android开发中,ScrollView是常用的布局控件,用于实现单向滚动,但有时我们需要实现一个可以双向滚动的视图,这就涉及到了自定义组件的知识。本文将深入解析如何实现一个支持垂直和水平双向滚动的ScrollView。 ...
在Android开发中,ScrollView是一个非常常见的布局容器,它允许用户滚动其内容,特别是当内容超出屏幕范围时。本文将深入探讨如何实现一个自定义的ScrollView,以添加上、下拉的反弹效果,从而提高用户的交互体验。 ...
Android ScrollView截图涂鸦截取ScrollView长图,并在截取的图片上进行涂鸦和保存,下一步则是通过Acache传递涂鸦后的图片进行展示。(代码中没有提供截取ScrollView的方法,只提供了一张长图)主要是通过在...
在Android开发中,ScrollView是一个非常常用的布局控件,它允许用户滚动查看超出屏幕范围的内容。在许多应用中,我们希望有一个子控件在用户滚动时始终保持在顶部,这就是所谓的“顶部悬浮”效果。这种设计常见于...
在Android开发中,ScrollView、ListView和GridView是三种常用的布局组件,它们各自有着不同的用途和特点。本篇文章将详细探讨如何实现这些组件的上拉下拉刷新功能,以及如何添加缓冲效果,以提升用户体验。 首先,...
在"Android开发小知识_使用ScrollView实现滚动效果.doc"文档中,可能详细介绍了以下知识点: 1. **添加ScrollView到布局**:XML布局文件中,可以直接添加ScrollView标签,并在其内部放置其他视图组件。 ```xml ...
在Android开发中,有时我们需要实现一个功能,即对ScrollView或ListView等滚动视图进行截图,并将截图保存到用户的图库中。这个功能在许多应用场景下非常有用,比如社交媒体分享、应用内部保存用户浏览记录或者创建...
在Android开发中,ScrollView是一个非常常用的布局控件,它允许用户在内容超出屏幕时通过滚动来查看所有内容。本文将详细讲解如何使ScrollView滑动到指定的位置,以便于实现更丰富的交互体验。首先,我们需要理解...