Android_TextView学习

Android开发零基础学习——TextView控件 ** Android开发入门学习的第一个控件——TextView 学习控件必然要了解相应控件的基本属性,接下来对TextView属性的整理。 学习属性的过程中建议使用Android Studio中的Split,在写代码的同时观察布局或控件的变化。 TextView常用属性 属性 说明 android:layout_width 设置文本框宽度,可选wrap_content(根据文本内容自动分配大小),match_parent (默认铺平),或自定义大小 android:layout_he 阅读详情
Android4.4上EditText光标样式需要修改,追查一下系统实现,从系统层进行修改,记录一下。
查看TextView和EditText源码发现,EditText也是继承自TextView,在TextView的Constructor方法中,看到这么一行:
mMovement = getDefaultMovementMethod();
点进去发现是return的 null,再到EditText中看发现:
  @Override
    protected MovementMethod getDefaultMovementMethod() {
        return ArrowKeyMovementMethod.getInstance();
    }
跟到ArrowKeyMovementMethod中发现该类开始有如下注释:
/**
 * A movement method that provides cursor movement and selection.
 * Supports displaying the context menu on DPad Center.
 */
对,自由选择的实现类,但是为啥TextView中是返回的null呢?因为在TextView的构造方法中再往下看:
boolean editable = getDefaultEditable();  获取是否可编辑的默认值,点进去发现返回false,不可编辑:
   /**
     * Subclasses override this to specify that they have a KeyListener
     * by default even if not specifically called for in the XML options.
     */
    protected boolean getDefaultEditable() {
        return false;
    }
那么子类EditText中肯定也是有此方法了,并且默认返回的是true:
    @Override
    protected boolean getDefaultEditable() {
        return true;
    }
虽然TextView默认false,不可编辑但是在代码或者xml中我们还是可以修改它的editable的,关于自由选择在这里暂不展开,主要是看EditText的
cursor实现,继续找,继续查看构造方法中有如下代码:
 TypedArray a = theme.obtainStyledAttributes(attrs,
                com.android.internal.R.styleable.TextViewAppearance, defStyleAttr, defStyleRes);
        TypedArray appearance = null;
        int ap = a.getResourceId(
                com.android.internal.R.styleable.TextViewAppearance_textAppearance, -1);
        a.recycle();
        if (ap != -1) {
            appearance = theme.obtainStyledAttributes(
                    ap, com.android.internal.R.styleable.TextAppearance);
        }
获取自定义属性,并在接下来的for循环中给每个属性设置初始默认值,所以这些属性的默认值肯定是定义在了attrs或者style中了,
即对应的attr,找到cursorDrawable属性,查看对应的attr为:
 case com.android.internal.R.styleable.TextView_textCursorDrawable:
                mCursorDrawableRes = a.getResourceId(attr, 0);
                break;
即textCursorDrawable,在attrs中可以看到如下定义:
在<declare-styleable name="TextView">中定义
  <!-- Reference to a drawable that will be drawn under the insertion cursor. -->
    <attr name="textCursorDrawable" format="reference" />
textCursorDrawable被定义成了引用类型,即设置类似drawable的样式,接下来在framework/base/core/res/res/目录下全局搜索textCursorDrawable,
在三个文件中有定义,分别是themes.xml、themes_hole.xml、themes_material.xml,但是在4.4源码中并未看到themes_hole.xml、themes_material.xml
这两个文件,这是因为Google推出的md风格支持5.0以上的平台,看到这里似乎找到了答案,接下来修改(删掉)themes_hole.xml、themes_material.xml这两个文件中
关于textCursorDrawable的定义,重新编译framework看下5.0的EditText光标和4.4的表现形式是否一样了,(framework没编译,先到这里),猜测4.4的可能是只是使用了
framework/base/core/res/res/nohdpi下的:
text_cursor_holo_dark.9.png
text_cursor_holo_light.9.png
而5.0以上的使用了framework/base/core/res/res/mhdpi下的text_cursor_mtrl_alpha.9.png,等带framework编译过了再来验证(3.0)
安卓开发Android studio学习笔记01:TextView控件 【代码】安卓开发Android studio学习笔记01:TextView控件。 阅读详情

相关推荐

CentOS 7下rsyslog日志服务器搭建全攻略:从安装到避坑

本文详细介绍了在CentOS 7系统上搭建rsyslog日志服务器的完整流程,从基础安装到高级配置,包括协议设置、日志模板设计、安全加固和性能优化。特别分享了生产环境中的实战技巧和常见问题解决方案,帮助用户高效构建可靠的日志管理系统。

happy2的博客 687

android textview光标显示,使用AutoCompleteTextView自定义光标到文本

我通过扩展AutoCompleteTextView(使用一个名为setCursorAdapter的专门函数)创建了一个自定义视图。我正在提供一个SimpleCursorAdapter并添加一个FilterQueryProvider。我正在使用这个列表的数字,我需要的能力搜索任何地方的号码匹配。public void setCursorAdapter(final Uri uri, final Str...

weixin_35102377的博客 1351

工业组态软件Intouch(单机版)入门{第一篇}

通俗来讲Intouch就是一个能将PLC里的信号显示在画面上的软件。

weixin_41571357的博客 1万+

TextView属性大全

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34268753的博客 170

使用 Python 和可视化编程控制树莓派机械臂myCobot

这些模块包括逻辑、循环、数学、文本、列表、颜色、变量、函数以及控制机械臂的函数等等,所以用户可以轻松入门编程,只需单击右上角的运行就可以启动程序,做一些有趣的应用。可以搭配任意摄像头进行图像识别,具有4个 USB 端口,可以通过 Raspberry Pi 的微型 HDMI 端口连接到显示器. 最后,40 个GPIO 接头可以进行更多扩展应用,机械臂每个接口都有清晰的标记,面板上还有一个电源开关和一个直流电源插孔。您现在可以将机器人放在地板或桌子上,并用力拧紧吸盘,以确保机械臂的底座在操作过程中不会移动。

m0_62456998的博客 3965

解决RocketMQ中@Bean配置DefaultMQProducer时的MQClientException问题

本文针对Spring Boot整合RocketMQ时,因在@Bean配置中手动调用DefaultMQProducer的start()方法而引发的MQClientException问题,深入剖析了其根本原因在于生命周期管理冲突。文章提供了简洁有效的解决方案——移除手动启动,让Spring容器自动管理,并给出了完整的配置示例与生产环境最佳实践。

rnn9storyteller的博客 688

android textview光标显示,Android EditText获取焦点后只显示光标不弹出软键盘

参考博客链接https://blog.youkuaiyun.com/android_zyf/article/details/80526249如果你项目适配的最小版本大于等于21//直接调用EditText的该方法,设置为false即可binding.newPesticideEditCodeEt.setShowSoftInputOnFocus(false);如果你项目适配的最小版本小于21public void...

weixin_39639600的博客 802

华为HCIA-Datacom实战:200人企业园区网从规划到部署全流程解析

本文详细解析了华为HCIA-Datacom认证实战中200人企业园区网的规划与部署全流程。从需求分析、组网架构设计到设备选型、VLAN划分及安全策略实施,全面覆盖园区网建设的关键环节,特别针对部门隔离、无线覆盖和基础安全防护等典型场景提供可落地的解决方案。

f0g1h2的博客 710

Android fragment中的EditText在初始化时,只显示光标不弹出软键盘

在开发中有时候会遇到这样的需求,首页中的fragment中有输入框,输入框需要有光标显示,但是不需要显示软键盘,当用户手动点击输入框时才出来软键盘可以输入内容。如何实现? 1、在xml文件中设置cursorVisible 属性。 <EditText android:id="@+id/et_input" android:layout_width="match_parent" android:layout_height="wrap_content" android:.

Hello_YL的博客 1094

26版SPSS操作教程(高级教程第二十一章)

#专注方能成事 #本期内容:信度分析 #由于导师最近布置了学习SPSS这款软件的任务,因此想来平台和大家一起交流下学习经验,这期推送内容接上一次高级教程第二十章的学习笔记,希望能得到一些指正和帮助~

你好! 1709

组合导航 | RTK、IMU与激光雷达组合导航算法:原理、实现与验证

当激光雷达噪声增加至0.1m时,系统位置RMSE仅上升18%,验证了滤波算法的鲁棒性[110]:融合方案在RTK信号丢失30秒后,位置误差仍控制在1.5m内,显著优于IMU单独导航[28]:ESKF框架能有效建模传感器误差特性,状态向量需包含外参与时间偏移等关键参数。:传感器标定精度直接影响系统性能,建议每3个月进行一次重新标定。:IMU预积分与特征匹配是系统实时性的关键瓶颈,需重点优化。:维持10秒窗口内的关键帧,平衡精度与实时性[132]:特征匹配占总耗时的65%,可通过。

尘世冰封的专栏 942

android studio textview光标,AndroidStudio代码规范——TextView

AndroidStudio代码规范——TextView我们在使用TextView显示内容的过程中,经常遇到需要显示的内容只有少许参数需要改变,比如:距离过年还有xx天xx时xx秒,当我们在更新TextView的内容时,一般是这么写的:TextView mTextView = this.findViewById(R.id.mTextView);mTextView.setText("距离过年还有"+m...

weixin_39989862的博客 341

Docker(八):Docker Compose(容器编排) 管理多容器应用—实战案例演示

🟢 Docker(八):Docker Compose(容器编排) 管理多容器应用—实战案例演示

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 6万+

Android学习备忘015——TextView

fabuler的专栏 338

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

安卓TextView学习笔记

最近在学习安卓的TextView控件,

科良_szu的专栏 661

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

简单学习Android TextView

android:autoLink 用于指定是否将文本转换成可点击的超链接形式,它的属性值有none,web,email,phone,map或all android:drawBottom 用于将图片添加到文本的低端 同理还有上,左,右 android:hint 当文本为空时,默认显示的是什么 android:Grivaity 文本的对齐方式 android:inputType 显示的文本类型。

bugyinyin的博客 119

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【安卓学习笔记】Android Studio第2课——TextView和Button控件

做了一个简单的单击计数,实现的方法很简单,还是同样四个步骤1.声明控件TextView和Button2.用findViewByID找到控件3.复写Button的点击事件监听方法体4.把方法体绑定在Button上效果图:具体代码如下:package com.example.urien.secondapp; import android.support.v7.app.AppCompatActivit...

冯宇的博客 8886

Android开发学习之路(一)TextView控件学习

这是我自己的学习笔记,目的是巩固自己的学习,将学习过程记录下来可以更好的敦促自己的学习。坚持一件事,我也可以。一,创建如图1所示,在MainActivity中创建;(1),在MainActivity.java中创建一个TextView对象:TextView tx = new TextView(context-&gt;object);context是一个类,它的父类是java.lang.Object...

ZJH's Notebook 379

Android学习之Textview的使用

TextView显示文本控件 示例一:显示文本(url、不同大小、字体、颜色) 示例二:单击链接弹出Activity 示例三:使用TextView实现跑马灯的效果 示例一: 显示文本(url、不同大小、字体、颜色) activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/

run 的博客 1万+

Android学习笔记 62. 为TextView设置样式

Android学习笔记 62. 为TextView设置样式

代码改变世界 871

Android TextView 初步学习

直接设置XML Layout: <TextView android:id="@+id/text_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20sp" a...

weixin_30686845的博客 85

Kotlin学习日志(一)TextView、Button、Toast的使用,安卓开发面试基础

最后这里放上我这段时间复习的资料,这个资料也是偶然一位朋友分享给我的,里面包含了腾讯、字节跳动、阿里、百度2019-2021面试真题解析,并且把每个技术点整理成了视频和PDF(知识脉络 + 诸多细节)。还有高级架构技术进阶脑图、高级进阶架构资料帮助大家学习提升进阶,也可以分享给身边好友一起学习。一起互勉~《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!0)][外链图片转存中…(img-yWTQLyaQ-1712778983151)]一起互勉~

2401_84149765的博客 805

安卓学习之TextView

<TetxView>组件的常用属性及对应方法 NO 配置属性名称 对应方法 描述 1 Android:text Public final void setText(CharSequence text) 定义组件的显示文字 2 Android:maxLength ...

weixin_30925411的博客 148

Android TextView学习

本文章SDK版本 Android 2.2 TextView是用来向用户展示文本信息,既不可编辑文本域,今天来介绍下TextView的使用方法。 TextVIew的继承关系:TextView→View→Object <TextView android:id="@+id/textView1" android:layout_width="w...

100

Android 学习笔记 - TextView 阴影效果

今天在B站看到一个Android免费的基础教程学习到了新的知识点感觉很有意思来记个笔记 TextView阴影效果 【属性】 android:shadowColor 是设置阴影的颜色的,需要与shadowRadius一起使用 adnroid:shadowRadius是设置阴影的模糊程度,设置为0.1就变成字体颜色了,建议使用3.0 android:shasowDx 是设置水平方向的偏移的,就是水平方向阴影开始的横坐标位置 android:shadowDy 是设置竖直方向偏移的,就是竖直方向阴影开始

qq_37120167的博客 2608
上一篇: android_mk记录
下一篇: Android_source_arch
杨鑫校
博客等级 码龄11年 24粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值