文本框(TextView)
2.1 简介
TextView直接继承View,作用就是在界面上显示文本(类似于Swing中的JLabel),同时它还是EditText、Button两个UI组件类的父类。
另外Android关闭了它的文字编辑功能,如果想编辑内容,则可以使用EditText。
2.2 TextView常用属性
2.2.1 text
2.2.2 autoLink
2.2.3 singleLine(已过时,现在应为:android:lines)
2.2.4 lines
2.2.5 minLines
2.2.6 textColor
2.2.7 textSize
2.2.8 textStyle
字体风格粗体、斜体
2.2.9 backgroud
设置背景,可以是颜色或图片
2.2.10 drawableXX
设置文本的icon
2.2.11 ellipsize 当文字长度超过textview宽度时的显示方式
android:ellipsize=”start” 省略号显示在开头 “…pedia”
android:ellipsize=”end” 省略号显示在结尾 “encyc…”
android:ellipsize=”middle” 省略号显示在中间 “en…dia”
android:ellipsize=”marquee” 以横向滚动方式显示(另外还需要设置其它三个属性,否则不滚动,即必须让该控件获得焦点)
编辑框(EditText)
3.1 简介
EditText和TextView非常相似,它与TextView共用了绝大总分XML属性和文法,
二者最大区别在于:EditText可以接受用户输入。
3.2 常用属性
3.2.1 inputType
它是EditText组件最重要的属性,它相当于HTML中标签的type属性,用于EditText指定输入组件的类型。
常用取值有:number|numberPassword|date|phone
3.2.2 hint:提示字符信息
Andriod简易计算机的加减乘除
activity_main.xml
"1.0" encoding="utf-8"?>
"http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:rowCount="7"
android:columnCount="4"
tools:context=".MainActivity">
"@+id/main_et_result"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_columnSpan="4"
/>
MainActivity.java
public class MainActivity extends AppCompatActivity {
private EditText main_et_result;
//声明两个参数,接受main_et_result的值
double num1=0,num2=0;
//计算结果
double Result=0;
//判断操作
int op=0;
//判断是否按了=按钮
boolean isClickEqu=false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
main_et_result=findViewById(R.id.main_et_result);
}
public void doSubmit(View view) {
int id = view.getId();
switch (id){
//返回上一步
case R.id.main_btn_backspace:
String myStr=main_et_result.getText().toString();
main_et_result.setText(myStr.substring(0,myStr.length()-1));
break;
//清空所有
case R.id.main_btn_clean:
main_et_result.setText("");
break;
case R.id.main_btn_btn0:
main_et_result.append("0");
break;
case R.id.main_btn_btn1:
//获取text的两种方法
①main_et_result.setText("1");
/* if(isClickEqu) {
main_et_result.setText(null);
isClickEqu = false;
}*/
/*② String myString1=main_et_result.getText().toString();
myString1+="1";
main_et_result.setText(myString1);*/
break;
case R.id.main_btn_btn2:
/* if(isClickEqu){
main_et_result.setText(null);
isClickEqu=false;
}*/
main_et_result.append("2");
/*String myString2=main_et_result.getText().toString();
myString2+="2";
main_et_result.setText(myString2);*/
break;
case R.id.main_btn_btn3:
main_et_result.append("3");
/* if(isClickEqu)
{
main_et_result.setText(null);
isClickEqu=false;
}
String myString3=main_et_result.getText().toString();
myString3+="3";
main_et_result.setText(myString3);*/
break;
case R.id.main_btn_btn4:
main_et_result.append("4");
/* if(isClickEqu)
{
main_et_result.setText(null);
isClickEqu=false;
}
String myString4=main_et_result.getText().toString();
myString4+="4";
main_et_result.setText(myString4);*/
break;
case R.id.main_btn_btn5:
main_et_result.setText("5");
/* if(isClickEqu)
{
main_et_result.setText(null);
isClickEqu=false;
}
String myString5=main_et_result.getText().toString();
myString5+="5";
main_et_result.setText(myString5);*/
break;
case R.id.main_btn_btn6:
main_et_result.setText("6");
/* if(isClickEqu)
{
main_et_result.setText(null);
isClickEqu=false;
}
String myString6=main_et_result.getText().toString();
myString6+="6";
main_et_result.setText(myString6);*/
break;
case R.id.main_btn_btn7:
main_et_result.setText("7");
/* if(isClickEqu)
{
main_et_result.setText(null);
isClickEqu=false;
}
String myString7=main_et_result.getText().toString();
myString7+="7";
main_et_result.setText(myString7);*/
break;
case R.id.main_btn_btn8:
main_et_result.setText("8");
/*if(isClickEqu)
{
main_et_result.setText(null);
isClickEqu=false;
}
String myString8=main_et_result.getText().toString();
myString8+="8";
main_et_result.setText(myString8);*/
break;
case R.id.main_btn_btn9:
main_et_result.setText("9");
break;
case R.id.main_btn_plus:
//main_et_result.append("+");
String myAdd=main_et_result.getText().toString();
main_et_result.setText(myAdd);
if(myAdd.equals(null)){
return;
}
num1=Double.valueOf(myAdd);
main_et_result.setText(null);
op=1;
isClickEqu=false;
break;
case R.id.main_btn_minu:
// main_et_result.append("-");
String myMinu=main_et_result.getText().toString();
if(myMinu.equals(null)){
return;
}
num1=Double.valueOf(myMinu);
main_et_result.setText(null);
op=2;
isClickEqu=false;
break;
case R.id.main_btn_ride:
// main_et_result.append("x");
String myRide=main_et_result.getText().toString();
if(myRide.equals(null)){
return;
}
num1=Double.valueOf(myRide);
main_et_result.setText(null);
op=3;
isClickEqu=false;
break;
case R.id.main_btn_divde:
//main_et_result.append("/");
String myDivde=main_et_result.getText().toString();
if(myDivde.equals(null)){
return;
}
num1=Double.valueOf(myDivde);
//清空前面的值
main_et_result.setText(null);
op=4;
isClickEqu=false;
break;
case R.id.main_btn_equal:
//main_et_result.append("=");
//获取符合后面的值
String mySringEqu=main_et_result.getText().toString();
if(mySringEqu.equals(null)){
return ;
}
num2=Double.valueOf(mySringEqu);
main_et_result.setText(null);
switch (op) {
case 0:
Result=num2;
break;
case 1:
Result=num1+num2;
break;
case 2:
Result=num1-num2;
break;
case 3:
Result=num1*num2;
break;
case 4:
Result=num1/num2;
break;
default:
Result=0;
break;
}
main_et_result.setText(String.valueOf(Result));
isClickEqu=true;
break;
default:
break;
}
}
}