继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

从零开发Android系列(2)-讲讲TextView

nickcau
关注TA
已关注
手记 114
粉丝 6509
获赞 303

在安卓开发中我们最常见的控件就是TextView,这个控件继承于View,是Google提供的展示文本的一个view,我们经常在开发过程中用到它,我们先看一个最常见的情形:

https://img.mukewang.com/5c07160f0001783123501364.jpg

UI设计师一般给我们是类似这种sketch的切图,我们可以看到这个textView的宽度和高度,颜色值还有字体大小,我们在layout的xml文件上写这个控件:

<TextView android:id="@+id/title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:textColor="#323232"
    android:textSize="14sp"
/>

一般来说我们会把textView的width和height都设成wrap_content,因为让textSize来决定这个textView占据的空间。

当然有时候产品会让这个textView只能显示单行,如果多行这一行就显示...,那么我们可以这样做:

<TextView android:id="@+id/title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:textColor="#323232"
    android:textSize="14sp"
    android:maxLines="1"
    android:ellipsize="end"
/>


android:maxLines表示textView可以显示多少行,ellipsize表示TextView的内容中哪个位置显示截断效果,如果产品想实现xxx...xxx的效果,那么我们可以设置ellipsize="middle"

在很多情况下,一个页面很多的textView的属性其实是一样的,在这种情况下我们要把textView的一些属性抽取出来放到styles.xml中,然后写布局的时候就会更简洁

<style name="period_table_content">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:gravity">center</item>
    <item name="android:textColor">#323232</item>
    <item name="android:textSize">14sp</item>
</style>

然后写textView的时候就可以这样写

<TextView
    android:layout_alignParentStart="true"
    android:id="@+id/tv_period_start"
    style="@style/period_table_content"
    android:layout_marginLeft="16dp"
    />


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP