EditTextand TextView
目录:
一、作业涉及内容
二、课堂全部涉及内容
三、学习感受
一:作业涉及内容:
纯文本<EditText
android:inputType=”text”/>
密码
<EditText
android:password=”true”/>
邮箱(不是限制邮箱格式,而是空间键盘显示@)
<EditText
android:inputType=”textEmailAddress”/>
添加背景(图片需保存在res文件夹下的子文件夹中且图片名无后缀)
<EditText
Bankground=”@drawable/图片名”/>
设置文字大小
<TextView
android:textSize=”10px”/>
设置文字颜色
<TextView
android:textColor=”#000000”/>
居中
<TextView
Gravity=”center”/>
在java类 onCreate方法中 使用html式样编辑TextView
public class HomeWork1213Activity extends Activity {
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView tv = (TextView) this.findViewById(R.id.webUrl);
String htmlStr = "<a href ='http://www.baidu.com'>换一个</a>";
tv.setText(Html.fromHtml(htmlStr));
}
}
作业预想图
作业实现图
二:课堂涉及到的全部内容
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" /> |
EditText
基本属性的设置
输入特定字符
<EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:password="true" android:digits="01234" />
<EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:digits="abcd" />
<EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="number" />
<EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="textEmailAddress" />
<EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:numeric="decimal|signed" /> |
EditText中回车键的使用
为EditText对象的注册OnKeyListener事件,实现onKey()方法
<EditText android:id="@+id/text1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="text1" />
<Button android:id="@+id/button1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:visibility="gone" android:text="Button" /> |
et.setOnKeyListener(this); … public boolean onKey(View view, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_ENTER) { btn.setText(et.getText()); et.setVisibility(View.GONE); btn.setVisibility(View.VISIBLE); }
return true; } |
习题:请实现点击button返回初始状态界面
自动完成输入内容的组件
l AutoCompleteTextView
l MultiCompleteTextView
<AutoCompleteTextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/autotx" />
<MultiAutoCompleteTextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/mautotx" /> |
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.hide);
btn = (Button) this.findViewById(R.id.button1); et = (EditText) this.findViewById(R.id.text1); et.setOnKeyListener(this);
autotx = (AutoCompleteTextView) this.findViewById(R.id.autotx); String[] s={"a","abc","ab","b","bc","bdad"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,s);
autotx.setAdapter(adapter);
mautotx = (MultiAutoCompleteTextView) this.findViewById(R.id.mautotx); mautotx.setAdapter(adapter); mautotx.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); } |
三:学习感受
假期越来越近,学习越来越浮躁。感觉现在讲的android只是是比较简单,但是涉及到函数的一些知识还是不能熟练的掌握。对布局main函数和string函数已经能熟练的掌握。
感觉自己接下来的任务是复习老师以前讲的关于函数的知识,还有就是预习老师接下来要讲的知识,这样在课堂上才能更好的吸收,才能够真正意义上的理解老师讲的内容。只有这样是远远不够的,在下午的自习课上要先完成老师布置的作业,但是通过这几天老师布置的作业和老师课上讲的内容看来,布置的作业里没有涉及到老师课上讲的所有知识点。所以
每天单纯的完成老师布置得作业不能说明什么,要复习老师课上讲的一些重要知识点。只有这样,才能真正意义上的做到不落下一个知识点,才能全面的掌握android知识。
要静下心来,好好体会android,好好学习android。Android决定着我们的未来,同样决定者我们的前途。