Android 之 EditText ImageView ImageButton控件
2016-08-24 08:06
323 查看
TestView补充
跑马灯效果<!--跑马灯--> <TextView android:text="asdfghjkl;45678902345zxcvbnm,wertyuiop" android:layout_gravity="center" android:id="@+id/text" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" android:freezesText="false" android:singleLine="true" android:layout_width="200dp" android:layout_height="wrap_content" />
SpannableString的使用
SpannableString可以设置文字的字体, 大小, 颜色和样式等等….
TextView text2 = (TextView) findViewById(R.id.text2); String str = "01234567890123456789"; SpannableString string = new SpannableString(str); //这里只是说明一下图片的设置方式 Drawable drawable = getResources().getDrawable(R.mipmap.ic_launcher); //因为默认的drawable没有大小和边框, 需呀我们自己手动指定 drawable.setBounds(0, 0, 50, 50); // 从0开始 (左闭右开) 包含5不包含10 string.setSpan(new ImageSpan(drawable),5, 10, Spanned.SPAN_INCLUSIVE_EXCLUSIVE); text2.setText(string);
鉴于人家已经写的非常详细了, 这里贴出一篇博客: SpannableString
微信中聊天表情案例
private void initMap() { Drawable d0 = getResources().getDrawable(R.mipmap.img01); d0.setBounds(0, 0, 50, 50); map.put("愤怒", new ImageSpan(d0)); Drawable d1 = getResources().getDrawable(R.mipmap.img02); d0.setBounds(0, 0, 50, 50); map.put("色", new ImageSpan(d1)); Drawable d2 = getResources().getDrawable(R.mipmap.img03); d0.setBounds(0, 0, 50, 50); map.put("可怜", new ImageSpan(d2)); } private SpannableString buildSpannable(String str){ SpannableString spannableString = new SpannableString(str); Pattern pattern = Pattern.compile("\\[(.+?)\\]"); Matcher matcher = pattern.matcher(str); while (matcher.find()){ String name = matcher.group(1); if (map.get(name) != null) { spannableString.setSpan(map.get(name), matcher.start(), matcher.end(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); } } return spannableString; }
EditText
//重新定义回车 android:imeOptions="actionGo"
既加粗又斜体:android:textStyle=”bold|italic”
android:drawableTop=”@mipmap/ic_launcher”在前边加小图标,一般应用在输入框
android:maxLines=”1”最大长度为1
android:ellipsize=”end”超出文档范围省略号怎么显示
android:inputType=”textPassword|textMultiLine”多行模式 输入款默认单行
当输入框多行时,
android:imeActionLabel=”发送”
android:imeOptions=”actionNext”失效
当页面出现多个输入框时,无论imeOptions设置为什么,全都表现为next,除非是页面最后一个输入框
ImageView
使用Background会把图片拉伸 tint : 着色 tintMode: 着色模式 镂空的部分不会被着色 scaleType : 缩放类型 center: 居于重心不做缩放 centerCrop: 适配宽高中的长的, 多余的裁剪掉 fitCente: 保证完整的前提下最大(常用) fitXY : 拉伸图片 fitStart: (普通人) 高>宽: 在上方显示 高<宽: 在下方显示 matrix: 矩阵(在java代码中去写) adjustViewBounds: 宽度或高度有一个是定值, 另外一个不定值(wrap_content) , ImageButton: 在ImageView中加上了下面的两句话 style="?attr/imageButtonStyle" android:focusable="true"
选择器的使用
通过一个点击改变圆心颜色的案例来介绍选择器
bg.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!--圆角半径--> <corners android:radius="10dp" /> <!--填充色--> <solid android:color="#16efd6" /> <!--设置边框--> <stroke android:width="1dp" android:color="#8f8080" /> <!--设置大小--> <size android:width="200dp" android:height="200dp" /> <!--设置渐变--> <gradient android:angle="45" android:startColor="#00F" android:endColor="#0f0" android:centerColor="#fff" android:type="radial" android:gradientRadius="50%" /> </shape>
bg2.xml
由于我们仅仅是测试 , 可以将bg.1.xml中android:startColor=”#00F”的颜色改改
sel_bg.xml
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/bg1" android:state_pressed="true" /> <item android:drawable="@drawable/bg2"/> </selector>
TextView
<ImageView android:clickable="true" android:background="@drawable/sel_bg" android:layout_gravity="center" android:src="@mipmap/ic_launcher" android:id="@+id/main_image" android:layout_width="200dp" android:scaleType="center" android:layout_height="200dp" />
相关文章推荐
- 体验Android
- Android源码各个击破之-系统属性
- Study on Android【一】--概述
- 机器人Android在呼唤!
- Google Android IDE-eclipse plugin 预览
- 为什么是java,google的android策略
- Android Developer Challenge
- Google Calling: Inside Android, the gPhone SDK
- Android程序开发初级教程(三)
- Android程序开发初级教程(二)
- 什么是google的Android操作系统?
- Google手机操作系统Android应用开发入门
- Android程序开发初级教程(一)
- Android 入门开发指南之一 -- Android简介
- Android 原代码下载路径
- 体验Android:个人所得税计算器 含源码
- Android判断字符串中是否含字母、中文或数字
- 体验Android
- Google 1000万美元重奖Android开发者
- Android安装以及Eclipse插件(Google Android) ,在Android 中google搜索 博客园界面