当前位置:操作系统 > 安卓/Android >>

android scrollview 简单的使用

首先是JAVA主代码:

 
package com.dudu.djy;  
 
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;  
 

          /***
     * scrollview
     * @author dujinyang
   *
   */
public class ScrollViewTests extends Activity {  
   /** Called when the activity is first created. */ 
   private LinearLayout mLayout;  
   private ScrollView scView;  
   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);   
       scView= (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 bt = (Button) this.getCurrentFocus();  
       int count = mLayout.getChildCount();  
       Button bm = (Button) mLayout.getChildAt(count-1);  
 
       if(keyCode==KeyEvent.KEYCODE_DPAD_UP && bt .getId()==R.id.Button){  
           bm.requestFocus();  
           return true;  
       }else if(keyCode==KeyEvent.KEYCODE_DPAD_DOWN && bt .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 tv= new TextView(ScrollViewTest.this);//定义一个TextView  
           tView.setText("TextView" + index);//设置TextView的文本信息  
           //设置线性布局的属性  
           LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(  
                   LinearLayout.LayoutParams.FILL_PARENT,  
                   LinearLayout.LayoutParams.WRAP_CONTENT);  
           mLayout.addView(tv, params);//添加一个TextView控件  
           Button button = new Button(ScrollViewTest.this);//定义一个Button  
           button.setText("Button" + index);//设置Button的文本信息  
           button.setId(index++);//id  
           mLayout.addView(button, params);//添加一个Button控件  
           mHandler.post(mScrollToButton);//传递一个消息进行滚动  
       }  
 
   };  

 


  //传递一个消息进行滚动
   private Runnable mScrollToButton = new Runnable() {  
 
       @Override 
       public void run() {  
           int off = mLayout.getMeasuredHeight() - scView.getHeight();  
           if (off > 0) {  
               scView.scrollTo(0, off);//改变滚动条的位置  
           }  
       }   
   };   
 

 


然后是main.xml文件:

 

 

<?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 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,