大家好 我也是刚开始学习Android时间不久,但是原来一直是java开发,所有Android现在学习起来比较简单,最近有一些想法就是写自己的博客,和志同道合的朋友一起成长一起学习,大家监督我能坚持多久,其实我有这个想法的已经很久了 但是一直没有坚持下来,希望以后无论多忙都能坚持写点自己的东西吧, 如果是自己敲些的demo就直接上代码了但是仅仅是关键代码,如果是初学者不能运行出结果可以加我的qq:924160580要个项目. 如果是自己对一些理解的东西再进行描述.
xml代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="使用android:digits属性(输入数字)" >
</TextView>
<EditText
android:id="@+id/num"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:digits="0123456789" >
</EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="使用android:digits属性(输入26个小写字母)" >
</TextView>
<EditText
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:digits="qwertyuiopasdfghjklzxcvbnm" >
</EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="使用android:inputType属性(输入数字)" >
</TextView>
<EditText
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:inputType="number|textCapCharacters" >
</EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="使用android:inputType属性(输入Email)" >
</TextView>
<EditText
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:inputType="textEmailAddress" >
</EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="输入qq表情" />
<EditText
android:id="@+id/etqq"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_margin="10dp" />
<Button
android:id="@+id/btnqq"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="添加qq表情" />
</LinearLayout>
后台java代码
package com.example.demo.baseui;
import java.lang.reflect.Field;
import java.util.Random;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.ImageSpan;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import com.example.demo.R;
public class MyEditText extends Activity {
private EditText num=null;
private EditText etqq = null;
private Button btnqq= null;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.bui_edittext_1);
num = (EditText) findViewById(R.id.num);
num.setOnFocusChangeListener(new View.OnFocusChangeListener() {
/**
* hasFocus 获取到焦点为true 失去焦点false
*/
@Override
public void onFocusChange(View v, boolean hasFocus) {
Log.i("Test", hasFocus+"");
if(hasFocus){
num.setText("");
}else {
String value = num.getText().toString();
if (value == null || value.trim().equals("")) {
num.setError("请输入内容!!");
return;
}
}
}
});
etqq=(EditText) findViewById(R.id.etqq);
btnqq = (Button) findViewById(R.id.btnqq);
btnqq.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int randomId = 1 + new Random().nextInt(9);
try {
Field field = R.drawable.class.getDeclaredField("face"
+ randomId);
int resourceId = Integer.parseInt(field.get(null).toString());
// 在android中要显示图片信息,必须使用Bitmap位图的对象来装载
Bitmap bitmap = BitmapFactory.decodeResource(
getResources(), resourceId);
ImageSpan imageSpan = new ImageSpan(MyEditText.this, bitmap);
SpannableString spannableString = new SpannableString(
"face");
spannableString.setSpan(imageSpan, 0, 4,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
etqq.append(spannableString);
} catch (NoSuchFieldException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
}