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”–以横向滚动方式显示(需获得当前焦点时)