更新:先将设计师给的普通图片转换成 .9 的图片
开发中发现设置了背景 图片的textview的wrap content特性无法生效,始终是图片的大小,后来查了后发现是需要先将图片转换成.9.png格式才行,下面介绍如何使用android studio(mac)实现图片的转换。
1。在命令中输入 draw9patch
2。将需要转化的png图片拖入到打开的页面
3。 开始编辑,shift+拖动是删除,command+拖动是添加
4。 编辑之后,在图片的边框,会出现黑色的线条,又黑色边框的部分,代表了可以缩放的部分
5。 在textview中设置背景图片位这个背景图片
6。 以下是textview实现跑马灯效果
<TextView
android:id="@+id/notify_text"
android:background="@drawable/background_system_notice"
android:layout_height="32dp"
android:layout_width="wrap_content"
android:maxWidth="189dp"
android:minWidth="90dp"
android:textColor="@color/white"
android:textSize="14dp"
android:paddingLeft="12dp"
android:paddingRight="12dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="30dp"
android:gravity="center_vertical"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:scrollHorizontally="true"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true" />
7。 textview需要在出现的地方,调用setSelected(true),否则会出现没有获得焦点,而跑马灯效果不出现
8。 另外, textview的 初始化状态不能是gone,但可以是invisible,否则可能因为这个view没有inflate出来,导致第一次出现时无法出现跑马灯的效果
9。 textview的竖排显示,只需要设置:ems="1"即可
(1)属性介绍:
安卓中XML属性有 android:ems=“x”
x表示一行显示的字符个数。
(2)具体的设置
第一步:设置控件宽度为包裹内容 android:layout_width=“wrap_content”
第二步:设置每行显示一个字符 android:ems=“1”