900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > android textView 书签效果

android textView 书签效果

时间:2021-04-08 00:59:05

相关推荐

android textView  书签效果

在网站上看了很多人都说过textview显示内容,要加书签效果,但是都没有具体的例子,因为项目中用到了,所以按自己的想法写了一个。很简单不过效果也还不错。好的直接上代码,要运行的话可直接在sd卡路径下加a.txt文件就可以正常运行了

package ;

import java.io.FileInputStream;

import org.apache.http.util.EncodingUtils;

import android.app.Activity;

import android.content.SharedPreferences;

import android.content.SharedPreferences.Editor;

import android.os.Bundle;

import android.os.Environment;

import android.view.View;

import android.widget.Button;

import android.widget.ScrollView;

import android.widget.TextView;

import android.widget.Toast;

public class TextViewTestActivity extends Activity {

private TextView tv;

private ScrollView sv;

private Button btn;

public static final String SDCARD_PATH = Environment

.getExternalStorageDirectory() + "/" + "a.txt";

private int w = 0, h = 0;

private SharedPreferences sp;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

tv = (TextView) findViewById(R.id.tv);

sv = (ScrollView) findViewById(R.id.sv);

btn = (Button) findViewById(R.id.btn);

tv.setText(readTxt());

sp = TextViewTestActivity.this.getSharedPreferences("remberLocation",

MODE_WORLD_READABLE);

w = sp.getInt("scrollx", 100);

h = sp.getInt("scrolly", 100);

btn.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View arg0) {

Editor edit = sp.edit();

edit.putInt("scrollx", sv.getScrollX());

edit.putInt("scrolly", sv.getScrollY());

mit();

}

});

sv.post(mScrollView);

}

private Runnable mScrollView = new Runnable() {

@Override

public void run() {

if (w == 100 && h == 100) {

} else {

sv.scrollTo(w, h);

Toast.makeText(TextViewTestActivity.this, w + "--" + h, 1)

.show();

}

}

};

public String readTxt() {

String res = "";

try {

FileInputStream fin = new FileInputStream(SDCARD_PATH);

int length = fin.available();

byte[] buffer = new byte[length];

fin.read(buffer);

res = EncodingUtils.getString(buffer, "gbk");

fin.close();// 关闭资源

} catch (Exception e) {

e.printStackTrace();

}

return res;

}

}

需要注意的是 scrollTo 调用该方法不能放在oncareate里面 需要用post 放到线程即可。需要保证数据加载好然后执行此方法。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。