今天主要讲TextView的属性以及autoLink的使用和给TextView画边框、于9patch的工具、Android ArrayAdapter 。
TextView
属性设置
android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/autotx"
|
注意:setText()或setTextColor()方法的参数是一个int值还是一个资源地址
android:autoLink
<TextView android:id="@+id/tvWebUrl" android:layout_width="fill_parent" android:layout_height="wrap_content" android:autoLink="web" />
<TextView android:id="@+id/tvEmail" android:layout_width="fill_parent" android:layout_height="wrap_content" android:autoLink="email" />
<TextView android:id="@+id/tvPhone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:autoLink="phone" />
<TextView android:id="@+id/tvMap" android:layout_width="fill_parent" android:layout_height="wrap_content" android:autoLink="map"/>
<TextView android:id="@+id/tvAll" android:layout_width="fill_parent" android:layout_height="wrap_content" android:autoLink="all" android:text="你好,很高兴认识你,我的博客:http://blog.csdn.net/jiahui524。 手机号码:15580974038.邮箱:272570596@qq.com" />
<TextView android:id="@+id/tvHtml" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<TextView android:id="@+id/tvHtml1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/link_text_manual" /> |
private void findViews(){ TextView tvWebUrl = (TextView)findViewById(R.id.tvWebUrl); tvWebUrl.setText("网易:http://www.163.com");
TextView tvEmail,tvPhone, tvMap ,tvHtml;
tvEmail = (TextView) this.findViewById(R.id.tvEmail); tvPhone = (TextView) this.findViewById(R.id.tvPhone); tvMap = (TextView) this.findViewById(R.id.tvMap); tvHtml = (TextView)this.findViewById(R.id.tvHtml);
tvEmail.setText("我的邮箱:drinkeye@163.com"); tvPhone.setText("我的电话:500000");
tvHtml.setText(Html.fromHtml("<font size='33' color='#333333'>我<i>爱</i>北</font>京天<b>安</b>门/n <br/>" + "<a href='http://www.163.com'>163</a>")); } |
<string name="link_text_manual"> 作者博客: <a href="http://nokiaguy.blogjava.net"> </a> </string> |
注意:
android:autoLink=”email” :会出现unsupported action,可能是模拟器bug,
另外使用Html.fromHtml时,超链接只具备外观,不能跳转
带边框的TextView
自定义带边框的TextView
package cn.class3g.activity;
import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; import android.util.AttributeSet; import android.widget.TextView;
public class BorderTextView extends TextView {
public BorderTextView(Context context, AttributeSet attr) { super(context,attr); }
public void onDraw(Canvas canvas) { super.onDraw(canvas);
Paint paint = new Paint();
paint.setColor(android.graphics.Color.GREEN); canvas.drawLine(0, 0, this.getWidth() - 1, 0, paint); canvas.drawLine(0, 0, 0, this.getHeight() - 1, paint); canvas.drawLine(this.getWidth() - 1, 0, this.getWidth() - 1, this.getHeight() - 1, paint); canvas.drawLine(0, this.getHeight() - 1, this.getWidth() - 1, this.getHeight() - 1, paint); } } |
<cn.class3g.activity.BorderTextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:padding="30dp" android:text="xxxxxxxxxxxxx" /> |
9-patch工具的使用
<TextView android:id="@+id/tvBorder" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/link_text_manual" android:textColor="#00FF00" android:background="@drawable/back" /> |
1.什么是“9妹”(9patch)?
它是一个对png图片做处理的一个工具,能够为我们生成一个"*.9.png"的图片;
2.何为"*.9.png"?
所谓"*.9.png"这是Android os里所支持的一种特殊的图片格式,用它可以实现部分拉伸;这种图片是经过”9妹“进行特殊处理过的,如果不处理的话,直接用PNG图就会有失真,拉伸不正常的现象出现.