当前位置:首页 > Android

Android ScrollView的使用

jsc10年前 (2016-04-06)Android4159

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"/>   
    </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);//改变滚动条的位置   
            }   
        }   
  
    };   
  
  
}


扫描二维码推送至手机访问。

版权声明:本文由微小站发布,如需转载请注明出处。

本文链接:https://jsc0.com/post/82.html

标签: 滑动刷新
分享给朋友:

“Android ScrollView的使用” 的相关文章

Android--SQLite(增,删,改,查)操作

                        需要5个类:…

使用自定义RadioButton和ViewPager实现TabHost效果和带滑动的页卡效果。

使用自定义RadioButton和ViewPager实现TabHost效果和带滑动的页卡效果。

在工作中又很多需求都不是android系统自带的控件可以 达到效果的,内置的TabHost就是,只能达到简单的效果 ,所以这个时候就要自定义控件来达到效果:这个效果就是: 使用自定义RadioButton和ViewPager实现TabHost带滑动的页卡效果。    &nb…

Android权限问题整理

Android权限系统非常庞大,我们在Android系统中做任何操作都需要首先获取Android系统权限,本文记录了所有的Android权限问题,整理一下分享给大家。访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES读取或写入登记check-in数…

ViewPager + HorizontalScrollView 实现可滚动的标签栏

ViewPager + HorizontalScrollView 实现可滚动的标签栏

这是一个可滑动的标签栏的自定义控件,参考此文章http://blog.csdn.net/fx_sky/article/details/8990573,我将主要的功能整合成一个类,配上2个特定的布局即可使用。 效果图:    主要布局文件:<?xml&nb…

Android中从SD卡中/拍照选择图片并进行剪裁的方法

Android中从SD卡中/拍照选择图片并进行剪裁的方法

效果图: ˂img src="http://photo.j…

Android 更换皮肤思路及解决方案

Android 更换皮肤思路及解决方案

本篇博客要给大家分享的一个关于Android应用换肤的Demo,大家可以到我的github去下载demo,以后博文涉及到的代码均会上传到github中统一管理。 github地址:https://github.com/devilWwj/Android-skin-update…