今天試著使用了一下Android的滾輪 以下是一個小小的測試 讀取測試檔案
主要是使用scrollTo函數和getScrollY()
程式點擊BUTTON按鈕 則向下滾到2222處 並顯示
main.xml
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
android:id="@+id/widget38"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<LinearLayout
android:id="@+id/widget32"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_x="0px"
android:layout_y="0px"
>
</LinearLayout>
<ScrollView
android:id="@+id/sv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_x="0px"
android:layout_y="20px"
>
<TextView
android:id="@+id/txtView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="hello,user!"
android:textSize="20sp"
>
</TextView>
</ScrollView>
<Button
android:id="@+id/test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
android:layout_x="230px"
android:layout_y="2px"
>
</Button>
</AbsoluteLayout>
main.javapackage zy.Scroller;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import org.apache.http.util.EncodingUtils;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.ScrollView;import android.widget.TextView;import android.widget.Toast;public class main extends Activity { /** Called when the activity is first created. */final public String DEV_FILE = "/data/data/zy.Scroller/aaa.txt";//測試檔案final String TEXT_ENCODING = "UTF-8";ScrollView sv;TextView tv;public Button test;@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); sv=(ScrollView)findViewById(R.id.sv); tv=(TextView)findViewById(R.id.txtView); String str; str=getinfo(DEV_FILE); String [] x; x=str.split("/r"); tv.setText(x[0]); int i; for(i=1;i<=x.length-1;i++) { tv.append(x[i]); } test=(Button)findViewById(R.id.test); test.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub sv.scrollTo(0, 2222); DisplayToast(sv.getScrollY()+""); } }); }protected void onScrollChanged (int l, int t, int oldl, int oldt){DisplayToast("123");}public String getinfo(String path) { File file; String str=""; FileInputStream in; try{ //開啟檔案file的InputStream file = new File(path); in = new FileInputStream(file); //將檔案內容全部讀入到byte數組 int length = (int)file.length(); byte[] temp = new byte[length]; in.read(temp, 0, length); //將byte數組用UTF-8編碼並存入display字串中 str = EncodingUtils.getString(temp,TEXT_ENCODING); //關閉檔案file的InputStream in.close(); } catch (IOException e) { DisplayToast(e.toString()); } return str; } public void DisplayToast(String str) { Toast.makeText(this,str,Toast.LENGTH_SHORT).show(); } }