TextView控件

LinearLayout相当于一个容器
TextView是一个控件像是这样的控件需要方在

android:layout_width="match_parent"  <!--math_parent就是容器多宽他多宽,宽度是不能超过容器的宽度的-->
<TextView
android:id="@+id/Demo01"   <!--设置id可以在java中调用-->

android:layout_width="134dp"  <!--控件的宽度-->

android:layout_height="171dp"   <!--控件的高度-->

android:background="#ff00"   <!--控件的背景颜色   最好写在color里面 使用@color/XXX指向-->

android:gravity="top"    <!--控件内容的对其方式-->

android:text="dim"   <!--控件中显示的文字 最好写在String里面 使用@string/XXX指向-->

android:textColor="#FF00FF00" <!--控件中文字的颜色-->

android:textSize="70dp"   <!--控件中文字的大小-->

android:textStyle="italic"  <!--文字的风格-->

android:shadowColor="@color/purple_700"   <!--控件中的阴影颜色 要和android:shadowRadius一起用-->

android:shadowRadius="0.2"  <!--控件中文字的模糊程度-->

android:shadowDx="10"  <!--阴影水平偏移-->

android:shadowDy="20"  <!--阴影垂直偏移-->

></TextView>


//在java中获取id并对其修改
//在java中修改的权重比xml中权重高,所以显示java修改后的
TextView dim = findViewById(R.id.Demo01);
dim.setText("kris");

实现跑马灯效果:

    <com.example.xiangmu1.MyTextview
        android:layout_width="match_parent" <!--宽度和容器一样宽-->
        android:layout_height="90dp"  <!--高度-->
        android:text="@string/S1"  <!--获取String中的文字-->
        android:singleLine="true" <!--多行变成一行-->
        android:ellipsize="marquee"  <!--横向滚动显示,需要获取焦点-->
        android:textSize="66dp"  <!--字体大小-->
        android:textColor="@color/teal_200" <!--字体颜色-->
 
        android:background="@color/black"  <!--背景颜色-->
        android:marqueeRepeatLimit="marquee_forever"  <!--无限循环-->
        android:focusableInTouchMode="true"  <!--用于控制视图在触摸情况下是否可以获取焦点-->
        android:focusable="true"  <!--是否可以获取焦点-->

        ></com.example.xiangmu1.MyTextview>


//java重写Textview

import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;

import androidx.annotation.Nullable;

public class MyTextview extends TextView {


    public MyTextview(Context context) {
        super(context);
    }

    public MyTextview(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
    }

    public MyTextview(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public boolean isFocused() {  //一直返回true实现跑马灯效果
        return true; 
    }
}

android:ellipsize:

android:ellipsize=”start”—–省略号显示在开头 "...pedia"
android:ellipsize=”end”——省略号显示在结尾  "encyc..."
android:ellipsize=”middle”—-省略号显示在中间 "en...dia"
android:ellipsize=”marquee”–以横向滚动方式显示(需获得当前焦点时)

您可能还喜欢...