android 使textview文本可以水平和垂直滚动

android 使textview文本可以水平和垂直滚动

ID:15397946

大小:47.00 KB

页数:5页

时间:2018-08-03

android 使textview文本可以水平和垂直滚动_第1页
android 使textview文本可以水平和垂直滚动_第2页
android 使textview文本可以水平和垂直滚动_第3页
android 使textview文本可以水平和垂直滚动_第4页
android 使textview文本可以水平和垂直滚动_第5页
资源描述:

《android 使textview文本可以水平和垂直滚动》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、在做一个小的电子书程序,要求电子书具有放大缩小的功能,所以肯定的要用到TextView的滚动效果。同样的还要求TextView在水平方向和垂直方向上都可以滚动。刚做的时候,也是没有头绪,后来想到了,TextView有一个ScrollTo或者ScrollBy方法,何不如此一用呢!1.前期找资料因为刚开始,不知道怎么能够滚动,所以先去网上查找资料,垂直滚动很容易实现,直接使用TextView的setMovementMethod(ScrollingMovementMethod.getInstance());方法就可以了。可是水平滚动如何实现?晚上说在TextView的前面在套一层

2、HorizontalScrollView,这个我也做了尝试,效果不佳,因为你有可能要在程序中动态的改变TextView的布局,这样子程序中就会出错;在者如果你设定了你的TextView为500px,而你的内容一行要有700px,这时你的内容不会自动的切为两行;第三,在添加一个HorizontalScrollView感觉很不舒服,起码界面是这样。所以综合这几点,我放弃了使用这种方法。接着就想到用ScrollTo方法,首先需要声明的是,采用这种方法,你的程序中是没有水平和垂直滚动条的,这个你可以自己去优化实现,理论上是绝对可行的。我现在说的是我能保证文本可以水平和垂直滚动,但没

3、有保证有滚动条。好,接下来,King就以一个实例做一下简单的使用。2.我的实现。(里面注释很详细,就不过多说了)publicclassTest_ScrollingTextextendsActivityimplementsOnTouchListener,OnGestureListener{//实现触摸和手势的接口privateTextViewmContent;privateDisplayMetricsmetrics;privateintmScreenWidth,mScreenHeight;//屏幕分辨率privateGestureDetectormDetector;//手势监

4、听者privateStringmDisplayTxt="";privateintmCurrentX=0,mCurrentY=0;//TextView左上角的像素值/**Calledwhentheactivityisfirstcreated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);getWindow().setFlags(WindowManage

5、r.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);//全屏metrics=newDisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(metrics);mScreenWidth=metrics.widthPixels;mScreenHeight=metrics.heightPixels;//获得屏幕分辨率setContentView(R.layout.main);//指定布局mContent=(T

6、extView)findViewById(R.id.content);resetTextView();loadFile();mDetector=newGestureDetector(this);mContent.setOnTouchListener(this);mContent.setLongClickable(true);//初始化,注意这三步是必不可少的,但没顺序的限制mContent.setText(mDisplayTxt);//显示文件内容}//加载文件privatevoidloadFile(){//TODOAuto-generatedmethodstubStrin

7、gmTemp;try{InputStreammInputStream=getAssets().open("jinju.txt");BufferedReadermBufferedInputStream=newBufferedReader(newInputStreamReader(mInputStream));while((mTemp=mBufferedInputStream.readLine())!=null){mDisplayTxt+=mTemp;}mDisplayTxt=mDisplayTxt.replace('

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。