您的位置:首页 > 职场人生

黑马程序员——Android之重要组件Textview&EditText

2015-03-09 17:30 302 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

MainActivity:

package com.example.one;

//import android.support.v7.app.ActionBarActivity;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.text.method.KeyListener;
import android.view.KeyEvent;
//import android.util.DisplayMetrics;
//import android.view.Menu;
//import android.view.MenuItem;
//import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnFocusChangeListener;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener{
EditText et;//声明EditText控件
private Boolean isEmpty=true;//表示文本框是否为空
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.absolutelayout);
setContentView(R.layout.activity_main);
et=(EditText) findViewById(R.id.et1);
et.setOnFocusChangeListener(new OnFocusChangeListener()
{
@Override
public void onFocusChange(View v,boolean hasFocus)
{//编辑框焦点发生变化时回调
//获取触发事件的EditText
EditText clickEditText=(EditText) v;
if(hasFocus==false)
{//EditText失去焦点
String text=clickEditText.getText().toString().trim();
//编辑文本框不为空,且不等于"请输入您的名字“
if(null!=text&&text.length()>0&&!"请输入您的名字".equals(text))
{
isEmpty=false;//表明此时文本框不为空
clickEditText.setTextColor(Color.BLACK);
//clickEditText.setText(text);
}
else
{//编辑框文本内容为空,或者时内容为”请输入您的名字“
clickEditText.setText("请输入您的名字");
clickEditText.setTextColor(Color.GRAY);
isEmpty=true;
}
}
else
{//如果获得焦点
clickEditText.setTextColor(Color.BLACK);
if(isEmpty)
{//如果控件属于未编辑状态,则清空“请输入您的名字”这几个字
clickEditText.setText("");
}
}
}
});
//编辑框监控有新字符输入
et.setOnKeyListener(new EditText.OnKeyListener()
{
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
EditText clickEditText=(EditText) v;
String text=clickEditText.getText().toString().trim();//获取当前文本
if(null!=text&&text.length()==10)
{
Toast.makeText(MainActivity.this, "最大长度为10个字符",Toast.LENGTH_SHORT).show();
//提示用户
}
return false;
}
});
/*
* et.setOnKeyListener(new OnKeyListener()
{
@Override
public  boolean onKey(View v,int keyCode,KeyEvent event)
{
EditText clickEditText=(EditText) v;
String text=clickEditText.getText().toString().trim();//获取当前文本
if(null!=text&&text.length()==10)
{
Toast.makeText(MainActivity.this, "最大长度为10个字符",Toast.LENGTH_SHORT).show();
//提示用户
}
return false;
}
});
*/
/*DisplayMetrics metric=new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width=metric.widthPixels;//屏幕宽度像素
int height=metric.heightPixels;
int densityDpi=metric.densityDpi;//屏幕密度
Log.d("TAG","width:"+width+"height:"+height+"densityDPI:"+densityDpi);*/
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub

}

}


activity_main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<!-- 主要用来 测试TextView的android:singleLine属性 -->

<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="这里是文本的内容"
android:textColor="#FF0000"
android:textSize="15pt" />
<!-- 对此EditText监控焦点变化 -->

<EditText
android:id="@+id/et1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:maxLength="10"
android:text="请输入您的名字"
android:textColor="#DDDDDD" />

<EditText
android:id="@+id/et2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="点击转换焦点" />

</LinearLayout>


——所有代码均能在android2.2上运行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐