Android笔记——文本框(TextView)
时间:2021-09-07
本文章向大家介绍Android笔记——文本框(TextView),主要包括Android笔记——文本框(TextView)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、常见属性
android:text:文本
android:background: 背景颜色
android:textSize:字体大小,单位用sp
android:textColor:字体颜色
android:layout_gravity:相对父级的位置,控件的对齐方式
android:drawableRight:在右边添加图片,方向也可以是left、right、top、bottom;还可以在activity文件直接添加图片,并控制图片大小
二、书写TextView控件
(1)在layout布局文件里面书写TextView
<TextView android:id="@+id/文本框的id" android:layout_width="宽度" android:layout_height="高度" android:text="文字..." 其它样式.../>
如果需要修改特殊样式需要在activity文件修改,不需要直接跳过第二和第三步:
(2)在acitvity文件方法体外声明文本框
private TextView 自定义文本框名字;
(3)在activity文件方法体内通过id找到文本框
自定义文本框名字= (TextView) findViewById(R.id.文本框的id);
注意:所需要的包,可以直接Alt+Enter自动导入
三、使用...代表显示不了的文字的方法
(1)给控件固定的宽度
(2)android:maxLines="整数"
代表最多显示1行
(3)android:ellipsize="end"
在末尾添加"..."
四、制作走马灯特效的简单方法
(1)android:ellipsize="marquee"
设置走马灯显示
(2)android:marqueeRepeatLimit="marquee_forever"
设置重复的次数为永久
(3)android:focusable="true"
获取焦点
(4)android:focusableInTouchMode="true"
可以通过touch获取焦点
(5)android:singleLine="true"
单行显示文字
五、添加中横线或下划线
(1)在layout文件添加控件
<TextView android:id="@+id/自定义的id" android:layout_width="宽度" android:layout_height="高度" android:text="@string/str_test" 各种样式.../>
文本可以书写在strings.xml文件里面
1.书写规则:
<string name="name属性值">文字</string>
2.获取strings.xml中的文字
android:text="@string/name属性值"
(2)在activity文件书写中横线或下划线样式
package com.example.lqh.firstproctect; import android.app.Activity; import android.graphics.Paint; import android.os.Bundle; import android.widget.TextView; public class TextViewActivity extends Activity { private TextView 自定义文本名字; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_text_view); 自定义文本名字 = (TextView) findViewById(R.id.自定义的id); 自定义文本名字.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);//添加中横线 自定义文本名字.getPaint().setAntiAlias(true);//去掉锯齿 } }
1.STRIKE_THRU_TEXT_FLAG:中横线
2.UNDERLINE_TEXT_FLAG:下划线
(3)也可以通过html添加中横线或下划线
package com.example.lqh.firstproctect; import android.app.Activity; import android.os.Bundle; import android.text.Html; import android.widget.TextView; public class TextViewActivity extends Activity { private TextView text5; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_text_view); text5 = (TextView) findViewById(R.id.txt_05); text5.setText(Html.fromHtml("<del>TextView</del>")); } }
1.<del></del>:中横线
2.<u></u>:下划线
六、带图片的TextView
可以设置四个方向的图片:drawableTop(上),drawableButtom(下),drawableLeft(左),drawableRight(右)
(1)将准备好的图片放在drawable文件夹里面
(2)在layout布局文件里设置图片,但不能修改图片大小
<TextView android:id="@+id/自定义的id" android:layout_width="宽度" android:layout_height="高度" android:drawableRight="@drawable/图片名称(不包含后缀名)" />
(3)在activity文件里设置图片,可以修改图片大小
package com.example.lqh.firstproctect; import android.app.Activity; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.widget.TextView; public class TextViewActivity extends Activity { private TextView 自定义的文本框名字; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_text_view); //控制图片的大小 自定义的文本框名字 = (TextView) findViewById(R.id.自定义的id); Drawable drawable = getResources().getDrawable(R.drawable.图片名字); drawable.setBounds(0,0,50,50);//第一个参数是距离左边距离,第二个参数是距离上边距离,第三个参数是长度,第四个参数是宽度 自定义的文本框名字.setCompoundDrawables(null,null,drawable,null);//参数依次为左上右下,这里只设置了右边的图片,所以其它为null } }
七、点击跳转到其它页面
(1)添加新的acrivity文件
(2)取acrivity文件的名字
(3)点击Finish,发现新建的activity的类继承了AppCompatActivity
(4)修改新建的activity文件
创建的类必须继承自android.app.Activity或者其子类
package com.example.lqh.firstproctect; //import android.support.v7.app.AppCompatActivity;导入的包修改为: import android.app.Activity; import android.os.Bundle; public class TextViewActivity extends Activity {//AppCompatActivity修改为“Activity” @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_text_view); } }
(5)给按钮添加点击事件
package com.example.lqh.firstproctect; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { private Button 自定义按钮名字;//声明按钮 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); 自定义按钮名字 = (Button) findViewById(R.id.按钮的);//通过id找到按钮 自定义按钮名字.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //跳转到另一个页面 Intent intent = new Intent(当前activity文件名.this, 要跳转到的页面的activity文件名.class); startActivity(intent); } }); } }
原文地址:https://www.cnblogs.com/lqh0904/p/15236436.html
- 数据库安全·用户/角色认证
- 防止在训练模型时信息丢失 用于TensorFlow、Keras和PyTorch的检查点教程
- 帝国cms如何调用栏目别名作为分类标题?[!--classname--]标签不能用
- 高级软件工程师(面试题)
- 高级软件工程师 2016-9月更新
- Httpclient 调用 HTTPS 加密通道的Restful服务
- 使用 Jersey 调用 Restful 服务
- 【学术】将吴恩达的第一个深度神经网络应用于泰坦尼克生存数据集
- 使用 HttpClient 调用 Restful 接口
- 元宵佳节:看Oracle技术粉们用SQL画团圆
- java 脚本引擎
- 不怕学不会 使用TensorFlow从零开始构建卷积神经网络
- 微信公众平台增加批量获取用户基本信息接口
- 谈网络适配器
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释