FlowTextView, Android的包装 TextView

分享于 

5分钟阅读

GitHub

  繁體 雙語
A wrapping TextView for Android
  • 源代码名称:FlowTextView
  • 源代码网址:http://www.github.com/deano2390/FlowTextView
  • FlowTextView源代码文档
  • FlowTextView源代码下载
  • Git URL:
    git://www.github.com/deano2390/FlowTextView.git
    Git Clone代码到本地:
    git clone http://www.github.com/deano2390/FlowTextView
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/deano2390/FlowTextView
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    FlowTextView

    Android的包装 TextView

    我最初是在年前把这个项目上传到 Google Code 上,但是我离开了它,所以从未维护它,所以我决定'它,开始重构它。 请求请求欢迎 !

    Logo

    一个扩展RelativeLayout的TextView。 文本将围绕布局环绕任何子视图 inside。

    这里部件对使用 HTML。fromhtml (" <的HTML提供基本支持。 />") 它将识别链接,粗体 italic 等。

    :如何使用

    使用子视图 inside 添加到你的XML布局中:

    <uk.co.deanwild.flowtextview.FlowTextView
     android:id="@+id/ftv" android:layout_width="fill_parent" android:layout_height="wrap_content"> 
     <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:padding="10dip" android:src="@drawable/android"/>
     <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_marginTop="400dip" android:padding="10dip" android:src="@drawable/android2"/>
    </uk.co.deanwild.flowtextview.FlowTextView>

    然后在代码中:

    FlowTextView flowTextView = (FlowTextView) findViewById(R.id.ftv);
     Spanned html =Html.fromHtml("<html>Your html goes here....");
     flowTextView.setText(html);

    Gradle

    将jitpack添加到存储库末尾的你的build.gradle 中:

    repositories {
     //.. . maven { url "https://jitpack.io" }
     }

    添加依赖项:

    compile 'com.github.deano2390:FlowTextView:2.0.5'

    许可证

    
    Copyright 2014 Dean Wild
    
    
    
    Licensed under the Apache License, Version 2.0 (the"License");
    
    
    you may not use this file except in compliance with the License.
    
    
    You may obtain a copy of the License at
    
    
    
     http://www.apache.org/licenses/LICENSE-2.0
    
    
    
    Unless required by applicable law or agreed to in writing, software
    
    
    distributed under the License is distributed on an"AS IS" BASIS,
    
    
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    
    
    See the License for the specific language governing permissions and
    
    
    limitations under the License.
    
    
    
    

    历史

    为了使我能在 Android 应用 中看到图片和其他视图,我需要一个文本,但我惊讶地发现,没有办法在本地实现这一目的。

    通用共识是,实现这一目标的唯一可行的方法是使用 WebViews。

    使用webviews是一个bloaty和 overkill,实现这个目标。 我们失去了使用本机部件的直接控制和性能。

    所以我开发了一个原生小部件,它扩展了 RelativeLayout ( 我觉得这比LinearLayout更通用),它可以在它的子视图周围绘制文本。

    代码仍然有点粗糙,我觉得它可能会在许多地方被大大改进,但它看起来很好。

    待办事项

    • 添加对直接在XML布局中提供的参数的支持。

    • 改进HTML支持现在它可以处理基本标签,如粗体,italic,中断和 href,但是很好支持

    • 添加对从右向左文字打印的支持。

    • 性能- 这总是可以改进的。 文本内容越大,这里 Beast的速度就越慢。 也许艺术会做这个把戏


    文本  TEX  WRAP  Textview  Wrapping