Android ScrollView用法

今天试着使用了一下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();

}

}

你可能感兴趣的:(scrollview)