在网站上看了很多人都说过textview显示内容,要加书签效果,但是都没有具体的例子,因为项目中用到了,所以按自己的想法写了一个。很简单不过效果也还不错。好的直接上代码,要运行的话可直接在sd卡路径下加a.txt文件就可以正常运行了
package com.cn;
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());
edit.commit();
}
});
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 放到线程即可。需要保证数据加载好然后执行此方法。
分享到:
相关推荐
本文实例讲述了Android TextView实现垂直滚动效果的方法。分享给大家供大家参考,具体如下: 在TextView中,如果文本很长,可能需要实现垂直滚动显示文本的效果。这里需要在XML布局文件中为TextView设置如下几个属性...
android TextView android TextView
android TextView 支持CSS样式
Android TextView 去掉自适应默认的fontpadding的实现方法 最近在项目中使用textview时发现在使用Android:layout_height=”wrap_content”这个属性设置后,textview会有默认的padding,也就是fontpadding。这样就会...
android实现TextView文字部分渐变色;LinearGradientFontSpan SpannableString
android 设置textview中划线效果
android中TextView控件的一些常用效果:HTML设置样式、TextView点击事件,TextView跑马灯效果,TextView显示图片效果。
Android 为textView增加边框效果,这又是一个初级的Android文字布局示例,今天是为TextView文字框增加一个外边框,可实现在画布上画边框的功能,在填充方面,你还可使用不透明的9.png和透明的9.png,带边框的...
Android textview 文字中间加上图片
MTextView,解决Android TextView提前换行的问题
实现Android TextView 展开的动画效果,但是没有用到Animation
android TextView 跑马灯效果; 具体说明可以看这里 http://blog.csdn.net/q610098308/article/details/49451537
android textview 文字排版 换行
TextView 45°倾斜效果,详情请看链接:http://blog.csdn.net/lan410812571/article/details/9388895
如果我们的应用需要显示时间,可能首先想到大街上LED显示的绿色的发光字体, 想到 使用时钟控件显示时间,这种效果,我们用 TextView 就可以实现。具体看博客说明:编辑文章 - 博客频道 - CSDN.NET ...
Android TextView显示html的demo ,演示如何在TextView上显示html效果,包括图片,
Android TextView 换行不对齐的问题
android textview图文混排支持GIF图 原生方式实现 glide支持
android TextView 折叠展开
Android TextView闪闪发光特效