今天试着使用了一下Android的滚轮,以下是一个小小的测试,读取测试文件,主要是使用scrollTo函数和getScrollY(),程序点击BUTTON按钮,则向下滚到2222处并显示。
main.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/widget38" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/widget32" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_x="0px" android:layout_y="0px"> </LinearLayout> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/sv" android:layout_width="wrap_content" android:layout_height="wrap_content" 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" /> </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" /> </AbsoluteLayout> |
main.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
package 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(); } } |