Android_实验小心得_持续补充中......

1、LineLayout布局控件宽度百分比显示

其中,宽度百分比 = 控件权重 / 所在parent中所有控件权重和

<LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        <Button
            android:layout_width="0dp"   //宽度为0dp
            android:layout_height="fill_parent"
            android:layout_weight="1"    //设置权重
            android:text="1"/>
    </LinearLayout>

 2、计算器回退键的实现

textView.setText(str.substring(0, str.length() - 1));    //在显示窗口设置为str字符串减一后子字符串

3、获取输入框字符串,根据内容实现加减乘除

private void getresult()
    {  String exp=et_input.getText().toString();    //获取输入框字符串
        if(exp==null||exp.equals(""))
        {
            return;
        }
        if(!exp.contains(" "))    //如果字符串不包换空格
        {
            return;
        }
        double result=0;
        String s1=exp.substring(0,exp.indexOf(" "));    //String.indexOf(" ")获取String中第一个" "的位置,substring获取从0到indexOf位置的子字符串
        String op=exp.substring(exp.indexOf(" ")+1,exp.indexOf(" ")+2);
        String s2=exp.substring(exp.indexOf(" ")+3);    //获取从第一个空格加三个字符位开始到exp最后一个字符位的子字符串
        if(!s1.equals("")&&!s2.equals("")) {
            double d1= Double.parseDouble(s1);    //将字符串转化为Double型
            double d2 = Double.parseDouble(s2);
            //强制类型转换

            if (op.equals("+")) {
                result = d1 + d2;
            } else if (op.equals("-")) {
                result = d1-d2;
            } else if (op.equals("×")) {
                result=d1*d2;
            } else if (op.equals("÷")) {
                if(d1==0)
                {result=0;}else  result=d1/d2;
            }
            if(!s1.contains(".")&&!s2.contains(".")&&!op.equals("÷")){
                int r = (int)result;
                et_input.setText(r + "");     //数字加空字符串组成新的字符串
            }
            else
            {et_input.setText(result + "");}
        }else if(!s1.equals("")&&s2.equals(""))
        {
            et_input.setText(exp);
        }else if(s1.equals("")&&!s2.equals(""))
        {   double d2= Double.parseDouble(s2);
            if (op.equals("+")) {
                result = 0 + d2;
            } else if (op.equals("-")) {
                result = 0 - d2;
            } else if (op.equals("×")) {
                result=0*d2;
            } else if (op.equals("÷")) {
                result=0;
            }
            et_input.setText(result + "");
        }
        else {
            et_input.setText("");
        }
    }

 

Android_实验小心得_持续补充中......

上一篇:安卓的一些UI美化框架的使用


下一篇:FCC---CSS Flexbox: Apply the flex-direction Property to Create Rows in the Tweet Embed