百度,google了一下,总是能看见这么几个答案,但是那些都不足以解决我的问题。在具体的实战开发中,总能碰见很多很狗血的问题。
android:drawableBottom
在text的下方输出一个drawable,如图片。如果指定一个颜色的话会把text的背景设为该颜色,并且同时和background使用时覆盖后者。
android:drawableLeft
在text的左边输出一个drawable,如图片。
android:drawablePadding
设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。
android:drawableRight
在text的右边输出一个drawable,如图片。
android:drawableTop
在text的正上方输出一个drawable,如图片。
在 stackoverflow 上找到一个老外的说法:
android:drawablePadding will only create a padding gap between the text and the drawable if the button is small enough to squish the 2 together. If your button is wider than the combined width (for drawableLeft/drawableRight) or height (for drawableTop/drawableBottom) then drawablePadding doesn't do anything.
我认为是这样的,当你的 textview 设置 match_parent 的时候,是很可能出现这个问题的。这个时候 android:drawablePadding 是无效的,为啥无效不清楚,有时间看看源代码。
解决的办法就是想其他的办法了。肯定不是使用 android:drawablePadding 的方法来实现你要的了。
TextView的drawable属性
TextView有一些属性可以在Text的四周设置一个drawable对象,图片,shape等合法的drawable都可以用。
drawableStart API 14才有
drawableLeft
drawableTop
drawableBottom
drawableRight
drawableEnd API 14才有
drawablePadding 用以设置drawable与text之间的空间
它们的含义 就像其名字所暗示的那样,left/top/right/bottom就是在文字的上下左右放置drawable。而drawableStart和drawableEnd则有特殊的意义,虽然它们是API 14加上去的,但是要在API 17后才能真正的生效,它们的作用是当语言方向发生变化时,会换边,LTR语言drawableStart在左边,而drawableEnd在右边;但对于RTL语言来说就会反过来drawableStart在右,drawableEnd在左。可以看 这个解释 。
01 简介
这篇文章主要是学习EditText输入框的设置
android:hint输入提升
android:textColorHint输入提示的文字的颜色
android:drawableXxxx在输入框的指定方位添加图片
android:drawablePadding设置图片与输入内容的间距
android:paddingXxxx设置内容和边框的间距
android:background背景色
02 *** 作
这是在输入类型InputType里面设置的
首先添加EditText
这个inputType的类型自己可以去摸索
里面的phone就是这个效果
03 图标以及密码框的设置
先再添加一个EditText
图标的设置,参考上一篇文章里面在Drawable里面添加的图片选择器,之后加上
android:drawableLeft="@drawable/ic_baseline_account_box_24"
drawableLeft这个是将图标设置在输入框的左边,Drawablepadding可以调图标与输入内容的间距
04 如何获取输入框里面的内容
要获取用户名的话就得再添加一个button
并且在里面添加一个id
同时在要获取 的那个EditText里面添加一个id
在点击事件里面添加一个读取editText内容方法
btn.setOnClickListener(newView.OnClickListener(){ @OverridepublicvoidonClick(View v) { String text1 = et1.getText().toString()Log.e("chuangzhangkeji","YONGHUMING:"+text1) String text2 = et2.getText().toString()Log.e("chuangzhangkeji","MIMA:"+text2) }
Log.e()这个是调用打印的方法把获取到的的信息打印出来
et1.getText().toString()是获取输入的数据并将其转化为字符串
05 测试
点击登入之后就会在logcat里面出现
船长科技
电子人,极客开发者,电子信息工程在读,介绍科技类,科幻类,以及分享一些互联网学习经验公众号
欢迎关注“船长科技”
船长和你一起走进科技
探索生活中的科技
保持一颗好奇心
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)