新思想

TextView

TextView01

 

TextView02

 

布局文件:

txt_rectborder.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <!-- 设置一个黑色边框 -->
    <stroke android:width="2px" android:color="#000000"/>
    <!-- 渐变 -->
    <gradient
        android:angle="135"
        android:endColor="#C0C0C0"
        android:startColor="#FCD209" />
    <!-- 设置一下边距,让空间大一点 -->
    <padding
        android:left="5dp"
        android:top="5dp"
        android:right="5dp"
        android:bottom="5dp"/>

</shape>

 

txt_radiuborder.xml

<?xml version="1.0" encoding="utf-8"?>

<!--ShapeDrawable资源文件:-->
<!--<solid android:color = “xxx”> 设置背景颜色-->
<!--<stroke android:width = “xdp” android:color=”xxx”> 设置边框的粗细及颜色-->
<!--<padding android:bottom = “xdp”…> 设置边距-->
<!--<corners android:topLeftRadius=”10px”…> 设置圆角-->
<!--<gradient> 设置渐变色,-->
<!--可选属性有:startColor:起始颜色 endColor:结束颜色 centerColor:中间颜色-->
<!--angle:方向角度,等于0时,从左到右,然后逆时针方向转,当angle = 90度时从下往上-->
<!--type:设置渐变的类型-->

<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- 设置透明背景色 -->
    <solid android:color="#87CEEB" />

    <!-- 设置一个黑色边框 -->
    <stroke
        android:width="2px"
        android:color="#000000" />
    <!-- 设置四个圆角的半径 -->
    <corners
        android:bottomLeftRadius="10px"
        android:bottomRightRadius="10px"
        android:topLeftRadius="10px"
        android:topRightRadius="10px" />
    <!-- 设置一下边距,让空间大一点 -->
    <padding
        android:bottom="5dp"
        android:left="5dp"
        android:right="5dp"
        android:top="5dp" />

</shape>

 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView  xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scrollbars="vertical"
    android:requiresFadingEdge="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="com.xiesir.example04textview.MainActivity"
        android:orientation="vertical">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="一、基本属性\n
    id\n
    layout_width / layout_height:wrap_content或者match_parent,也可设置成特定大小。\n
    gravity:设置控件中内容的对齐方向。\n
    text:设置显示的文本内容。\n
    textColor\n
    textStyle:设置字体风格:normal(无效果),bold(加粗),italic(斜体)\n
    textSize:字体大小,单位一般是sp!\n
    background:控件的背景颜色,可以是图片。"
            android:textStyle="bold|italic"
            android:background="#cfcfcf" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:shadowColor="#cfcf20"
            android:shadowDx="-10"
            android:shadowDy="-6"
            android:shadowRadius="10"
            android:text="二、带阴影的TextView\n
shadowColor:设置阴影颜色\n
shadowRadius:设置阴影的模糊程度\n
shadowDx:设置阴影在水平方向的偏移\n
shadowDy:设置阴影在竖直方向的偏移"
            android:textColor="#2020ff"
            android:textSize="18sp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="18sp"
            android:background="@drawable/txt_rectborder"
            android:text="三、带边框的TextView\n
自行编写ShapeDrawable的资源文件!然后将TextView的blackgroung设置为这个drawable资源即可!" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:textSize="18sp"
            android:background="@drawable/txt_radiuborder"
            android:text="ShapeDrawable资源文件说明(略)" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:drawableTop="@drawable/mn"
            android:drawablePadding="2dp"
            android:text="四、带图片(drawableXxx)的TextView\n
drawableXxx: 设置四个方向的图片,\n
drawablePadding: 设置图片与文字间的间距!" />

        <!--跑马灯一旦滚动到屏幕外,就不再支持跑马灯效果了-->
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="五、跑马灯效果的TextView" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="18sp"
            android:singleLine="true"
            android:ellipsize="marquee"
            android:marqueeRepeatLimit="marquee_forever"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:text="两男生同时向一女生表白,女生淡定道:“你们周游世界后再跟我说。”一男生立马收拾包裹准备出发,另一男生绕女生转了一圈,说出历史性的一句:“you are all my world.”女生心如鹿撞、脸泛红晕 ... ... ——最后的最后,她决定选择两个男生中比较有钱的那位。" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textScaleX="0.8"
            android:lineSpacingExtra="2dp"
            android:maxLines="8"
            android:text="六、TextView字间距和行间距\n
字间距:textScaleX,setScaleX()\n
行间距:lineSpacingExtra:行间距,lineSpacingMultiplier:行间距的倍数,setLineSpacing()\n
自动换行:singleLine\n
设置多行:maxLines" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="七、带超链的TextView\n
autoLink属性,setAutoLinkMask(Linkify.ALL),setMovementMethod()\n
主页:http://pcideas.cnblogs.com/, phone: 13851685168"
            android:autoLink="all" />

        <TextView
            android:id="@+id/tv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="八、TextView中设置多种字体大小" />

        <TextView
            android:id="@+id/tvHTML"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="九、HTML格式的TextView\n(略)"
            />
    </LinearLayout>
</ScrollView>

 

MainActivity.java

package com.xiesir.example04textview;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Html;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.method.LinkMovementMethod;
import android.text.style.AbsoluteSizeSpan;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        String text = "八、TextView中设置多种字体大小:您已经连续走了5168步";
        int start = text.indexOf('5');
        int end = text.length();
        Spannable textSpan = new SpannableStringBuilder(text);
        textSpan.setSpan(new AbsoluteSizeSpan(38), 0, start, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
        textSpan.setSpan(new AbsoluteSizeSpan(58), start, end - 1, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
        textSpan.setSpan(new AbsoluteSizeSpan(38), end - 1, end, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
        TextView textView = (TextView) findViewById(R.id.tv);
        textView.setText(textSpan);

        TextView tvhtml = (TextView)findViewById(R.id.tvHTML);
        String s1 = "九、HTML格式的TextView: <br/>";
        s1 += "<a href = 'https://www.bing.com/'>当你走进我的心里,你会落泪,因为那里都是你给的伤悲;</a><br/>";
        s1 += "<font color='blue'><b>当我走进你的心里,我会落泪,因为里面都是你的无所谓。</b></font>";
        tvhtml.setText(Html.fromHtml(s1));
        tvhtml.setMovementMethod(LinkMovementMethod.getInstance());
    }
}

源程序下载

参考:

http://blog.csdn.net/coder_pig/article/details/46997821

http://www.codexiu.cn/android/blog/13693/

https://souly.cn/%E6%8A%80%E6%9C%AF%E5%8D%9A%E6%96%87/2016/01/29/TextView%E8%B6%85%E9%93%BE%E6%8E%A5%E5%AE%9E%E7%8E%B0%E6%96%B9%E5%BC%8F%E6%80%BB%E7%BB%93/

posted on 2016-05-09 00:28  新思想  阅读(420)  评论(0)    收藏  举报

导航