我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android如何实现房贷计算器

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android如何实现房贷计算器

今天小编给大家分享一下Android如何实现房贷计算器的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

fangdai(activity)

package com.example.myapplication_one;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.text.Editable;import android.text.TextUtils;import android.text.TextWatcher;import android.view.View;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.CheckBox;import android.widget.EditText;import android.widget.RadioGroup;import android.widget.Spinner;import android.widget.TextView;import android.widget.Toast;public class fangdai extends AppCompatActivity {    //声明用到的所有控件    Spinner spinner1;    Spinner spinner2;    EditText row1edit;    EditText row2edit;    Button total;    RadioGroup radioGroup;    CheckBox checkBox1;    CheckBox checkBox2;    EditText row4edit;    EditText row5edit;    Button detail;    TextView totalcal;    TextView alldetail;    private void initSpinner(){        //初始化控件        spinner1= (Spinner) findViewById(R.id.sp1);        spinner2= (Spinner) findViewById(R.id.sp2);        //建立数据源        String[] years=getResources().getStringArray(R.array.years);        String[] baserates=getResources().getStringArray(R.array.baserate);        //声明一个下拉列表的数组适配器并绑定数据源        ArrayAdapter<String> yearAdapter=new ArrayAdapter<String>(this,R.layout.support_simple_spinner_dropdown_item,years);        ArrayAdapter<String> baserateAdapter=new ArrayAdapter<String>(this,R.layout.support_simple_spinner_dropdown_item,baserates);        //绑定Adapter到控件        spinner1.setAdapter(yearAdapter);        spinner2.setAdapter(baserateAdapter);        //设置默认选择第一项        spinner1.setSelection(0);        spinner2.setSelection(0);        //设置标题        spinner1.setPrompt("请选择贷款年限");        spinner2.setPrompt("请选择基准利率");    }    //声明下列函数中要用到的变量    double intotal,backtotal,extra,pertime;//贷款总额,还款总额,利息,每月还款总额    int month;//月份    String buytotal;//购房总额    String percent;//贷款百分比    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.fangdai);        //初始化控件        initSpinner();        row1edit= (EditText) findViewById(R.id.row1edit);        row2edit= (EditText) findViewById(R.id.row2edit);        total= (Button) findViewById(R.id.totalcal);        radioGroup= (RadioGroup) findViewById(R.id.radiogroup);        checkBox1= (CheckBox) findViewById(R.id.check1);        checkBox2= (CheckBox) findViewById(R.id.check2);        totalcal= (TextView) findViewById(R.id.showtotal);        detail= (Button) findViewById(R.id.detail);        alldetail= (TextView) findViewById(R.id.alldetail);        row4edit= (EditText) findViewById(R.id.row4label);        row5edit= (EditText) findViewById(R.id.row5label);        //给第一个计算按钮添加点击监听        total.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                buytotal=row1edit.getText().toString();                percent=row2edit.getText().toString();                if(TextUtils.isEmpty(buytotal)||TextUtils.isEmpty(percent))//判断前两个输入框是否非空                {                    Toast.makeText(fangdai.this,"购房总价和按揭部分信息填写完整",Toast.LENGTH_LONG).show();                }else if(fangdaitext.isNum(buytotal)==false||fangdaitext.isNum(percent)==false){//判断输入的是否是数字                    Toast.makeText(fangdai.this,"包含不合法的输入信息",Toast.LENGTH_LONG).show();                } else if(Double.parseDouble(percent)>100){//判断百分比部分输入是否大于100%                    Toast.makeText(fangdai.this,"按揭部分不能超过100%",Toast.LENGTH_LONG).show();                } else if(fangdaitext.isNum(buytotal)&&fangdaitext.isNum(percent))                {                    intotal=(Double.parseDouble(buytotal)*Double.parseDouble(percent)*0.01);                    totalcal.setText("您的贷款总额为"+String.format("%.2f",intotal)+"万元");                }            }        });        detail.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                //first,second为商贷和公积金贷所填数值                String first=row4edit.getText().toString();                String second=row5edit.getText().toString();                //firstrate和secondrate为商贷和公积金的年利率                double firstrate=Double.parseDouble(spinner2.getSelectedItem().toString().substring(20,24))*0.01;                double secondrate=Double.parseDouble(spinner2.getSelectedItem().toString().substring(31,35))*0.01;                //获取下拉列表的年份求得月份                String year=spinner1.getSelectedItem().toString();                month=Integer.parseInt(year.substring(0,year.length()-1))*12;                //两种贷款的月利率                double firstmonthrate=firstrate/12;                double secondmonthrate=secondrate/12;                if(totalcal.getText().toString().equals("其中贷款部分为:***万")){//判断是否计算过贷款总额                    Toast.makeText(fangdai.this,"请先计算贷款总额",Toast.LENGTH_LONG).show();                }else if(row1edit.getText().toString().equals(buytotal)==false||row2edit.getText().toString().equals(percent)==false){//监听贷款总额和按揭部分数值是否发生变化                    Toast.makeText(fangdai.this,"检查到您的购房总价或按揭部分数据更改,请重新计算贷款总额",Toast.LENGTH_LONG).show();                } else if(checkBox1.isChecked()==false&&checkBox2.isChecked()==false)//监听勾选的多选框                {                    Toast.makeText(fangdai.this,"请勾选贷款种类",Toast.LENGTH_LONG).show();                }else if(checkBox1.isChecked()&&checkBox2.isChecked()==false){                    //等额本息贷款算法                    if(radioGroup.getCheckedRadioButtonId()==R.id.btn1){                        pertime=intotal*firstmonthrate*Math.pow((1+firstmonthrate),month)/(Math.pow(1+firstmonthrate,month)-1);                        backtotal=pertime*month;                        extra=backtotal-intotal;                        alldetail.setText("您的贷款总额为"+String.format("%.2f",intotal)+"万元\n还款总额为"+String.format("%.2f",backtotal)+"万元\n其中利息总额为"+String.format("%.2f",extra)+"万元\n还款总时间为"+month+"月\n每月还款金额为"+String.format("%.2f",pertime*10000)+"元");                    }else{//等额本金贷款算法                        double[] array=new double[month];                        double sum=0;                        for(int i=0;i<month;i++)                        {                            array[i]=intotal/month+(intotal-sum)*firstmonthrate;                            sum+=array[i];                        }                        String text="";                        for(int i=0;i<month;i++){                            text+="\n第"+(i+1)+"个月应还金额为:"+String.format("%.2f",array[i]*10000);                        }                        backtotal=sum;                        extra=backtotal-intotal;                        alldetail.setText("您的贷款总额为"+String.format("%.2f",intotal)+"万元\n还款总额为"+String.format("%.2f",backtotal)+"万元\n其中利息总额为"+String.format("%.2f",extra)+"万元\n还款总时间为"+month+"月\n每月还款金额如下:"+text);                    }                }else if(checkBox1.isChecked()==false&&checkBox2.isChecked()){                    if(radioGroup.getCheckedRadioButtonId()==R.id.btn1){                        pertime=intotal*secondmonthrate*Math.pow((1+secondmonthrate),month)/(Math.pow(1+secondmonthrate,month)-1);                        backtotal=pertime*month;                        extra = backtotal - intotal;                        alldetail.setText("您的贷款总额为" + String.format("%.2f",intotal) + "万元\n还款总额为"+String.format("%.2f",backtotal)+"万元\n其中利息总额为"+String.format("%.2f",extra)+"万元\n还款总时间为"+month+"月\n每月还款金额为"+String.format("%.2f",pertime*10000)+"元");                    }else{                        double[] array=new double[month];                        double sum=0;                        for(int i=0;i<month;i++)                        {                            array[i]=intotal/month+(intotal-sum)*secondmonthrate;                            sum+=array[i];                        }                        String text="";                        for(int i=0;i<month;i++){                            text+="\n第"+(i+1)+"个月应还金额为:"+String.format("%.2f",array[i]*10000)+"元";                        }                        backtotal=sum;                        extra=backtotal-intotal;                        alldetail.setText("您的贷款总额为"+String.format("%.2f",intotal)+"万元\n还款总额为"+String.format("%.2f",backtotal)+"万元\n其中利息总额为"+String.format("%.2f",extra)+"万元\n还款总时间为"+month+"月\n每月还款金额如下:"+text);                    }                }else if(checkBox1.isChecked()&&checkBox2.isChecked()){                    if(radioGroup.getCheckedRadioButtonId()==R.id.btn1){                        if(TextUtils.isEmpty(first)||TextUtils.isEmpty(second)){                            Toast.makeText(fangdai.this,"请将空信息填写完整",Toast.LENGTH_LONG).show();                        }else if(fangdaitext.isNum(first)==false||fangdaitext.isNum(second)==false){                            Toast.makeText(fangdai.this,"包含不合法的输入信息",Toast.LENGTH_LONG).show();                        }else if(Double.parseDouble(first)+Double.parseDouble(second)!=Double.parseDouble(String.format("%.2f",intotal))){                            Toast.makeText(fangdai.this,"填写的两项贷款总额不等于初始贷款额度,请重新填写",Toast.LENGTH_LONG).show();                        }else{                            double p1=Double.parseDouble(first);                            double p2=Double.parseDouble(second);                            double pertime1=p1*firstmonthrate*Math.pow((1+firstmonthrate),month)/(Math.pow(1+firstmonthrate,month)-1);                            double pertime2=p2*secondmonthrate*Math.pow((1+secondmonthrate),month)/(Math.pow(1+secondmonthrate,month)-1);                            pertime=pertime1+pertime2;                            backtotal=pertime*month;                            extra=backtotal-intotal;                            alldetail.setText("您的贷款总额为" + String.format("%.2f",intotal) + "万元\n还款总额为"+String.format("%.2f",backtotal)+"万元\n其中利息总额为"+String.format("%.2f",extra)+"万元\n还款总时间为"+month+"月\n每月还款金额为"+String.format("%.2f",pertime*10000)+"元");                        }                    }else{                        if(first.equals("请输入商业贷款总额(单位万)")||second.equals("请输入公积金贷款总额(单位万)")){                            Toast.makeText(fangdai.this,"请将空信息填写完整",Toast.LENGTH_LONG).show();                        }else if(fangdaitext.isNum(first)==false||fangdaitext.isNum(second)==false){                            Toast.makeText(fangdai.this,"包含不合法的输入信息",Toast.LENGTH_LONG).show();                        }else if(Double.parseDouble(first)+Double.parseDouble(second)!=Double.parseDouble(String.format("%.2f",intotal))){                            Toast.makeText(fangdai.this,"填写的两项贷款总额不等于初始贷款额度,请重新填写",Toast.LENGTH_LONG).show();                        }else{                            double p1=Double.parseDouble(first);                            double p2=Double.parseDouble(second);                            double[] array1=new double[month];                            double[] array2=new double[month];                            double sum1=0,sum2=0;                            for(int i=0;i<month;i++)                            {                                array1[i]=p1/month+(p1-sum1)*firstmonthrate;                                array2[i]=p2/month+(p2-sum2)*secondmonthrate;                                Toast.makeText(fangdai.this,array1[i]+" "+array2[i],Toast.LENGTH_LONG);                                sum1+=array1[i];                                sum2+=array2[i];                            }                            String text="";                            for(int i=0;i<month;i++){                                text+="\n第"+(i+1)+"个月应还金额为:"+String.format("%.2f",(array1[i]+array2[i])*10000)+"元";                            }                            backtotal=sum1+sum2;                            extra=backtotal-intotal;                            alldetail.setText("您的贷款总额为"+String.format("%.2f",intotal)+"万元\n还款总额为"+String.format("%.2f",backtotal)+"万元\n其中利息总额为"+String.format("%.2f",extra)+"万元\n还款总时间为"+month+"月\n每月还款金额如下:"+text);                        }                    }                }            }        });        row1edit.addTextChangedListener(new TextWatcher() {            int oldlength=0;            @Override            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {            }            @Override            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {//强制用户不能输入非数字和小数点之外的字符                int length = charSequence.length();                if (length > oldlength) {                    char newchar = charSequence.charAt(i);                    if ((newchar < '0' && newchar > '9') && newchar != '.') {                        if (i != length - 1)                            row1edit.setText(charSequence.subSequence(0, i).toString() + charSequence.subSequence(i + 1, length).toString());                        else                            row1edit.setText(charSequence.subSequence(0, length - 1));                    }                }                oldlength=length;            }            @Override            public void afterTextChanged(Editable editable) {            }        });        row2edit.addTextChangedListener(new TextWatcher() {            int oldlength=0;            @Override            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {            }            @Override            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {                int length=charSequence.length();                if(length>oldlength) {                    char newchar = charSequence.charAt(i);                    if ((newchar < '0' && newchar > '9') && newchar != '.') {                        if (i != length - 1)                            row2edit.setText(charSequence.subSequence(0, i).toString() + charSequence.subSequence(i + 1, length).toString());                        else                            row2edit.setText(charSequence.subSequence(0, length - 1));                    }                }                oldlength=length;            }            @Override            public void afterTextChanged(Editable editable) {            }        });        row4edit.addTextChangedListener(new TextWatcher() {            int oldlength=0;            @Override            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {            }            @Override            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {                int length=charSequence.length();                if(length>oldlength) {                    char newchar = charSequence.charAt(i);                    if ((newchar < '0' && newchar > '9') && newchar != '.') {                        if (i != length - 1)                            row4edit.setText(charSequence.subSequence(0, i).toString() + charSequence.subSequence(i + 1, length).toString());                        else                            row4edit.setText(charSequence.subSequence(0, length - 1));                    }                }                oldlength=length;            }            @Override            public void afterTextChanged(Editable editable) {            }        });        row5edit.addTextChangedListener(new TextWatcher() {            int oldlength=0;            @Override            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {            }            @Override            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {                int length=charSequence.length();                if(length>oldlength) {                    char newchar = charSequence.charAt(i);                    if ((newchar < '0' && newchar > '9') && newchar != '.') {                        if (i != length - 1)                            row5edit.setText(charSequence.subSequence(0, i).toString() + charSequence.subSequence(i + 1, length).toString());                        else                            row5edit.setText(charSequence.subSequence(0, length - 1));                    }                }                oldlength=length;            }            @Override            public void afterTextChanged(Editable editable) {            }        });    }}

fangdaitext(activity)

package com.example.myapplication_one;public class fangdaitext {    public static boolean isNum(String string){        int flag=0;        if(string.charAt(0)=='0'&&string.charAt(1)!='.')            return false;        if(string.charAt(0)=='.')            return false;        for(int i=0;i<string.length();i++)        {            if((string.charAt(i)<'0'||string.charAt(i)>'9')&&string.charAt(i)!='.')                return false;            else if(string.charAt(i)=='.')            {                flag++;                if(flag>1)                    return false;            }        }        return true;    }}

fangdai.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="16dp"    android:focusableInTouchMode="true"    android:focusable="true"    tools:context="com.example.myapplication_one.fangdai">    <ScrollView        android:layout_width="match_parent"        android:layout_height="wrap_content">        <RelativeLayout            android:layout_width="match_parent"            android:layout_height="wrap_content">            <RelativeLayout                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:id="@+id/relativeLayout1">                <TextView                    android:id="@+id/row1label"                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:text="购房总价:"                    android:layout_centerVertical="true"                    android:textSize="18sp"                    />                <EditText                    android:id="@+id/row1edit"                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:layout_centerVertical="true"                    android:hint="请输入购房总价(单位万)"                    android:singleLine="true"                    android:textSize="16dp"                    android:background="@drawable/edittext_style"                    android:padding="5dp"                    android:gravity="right"                    android:layout_toRightOf="@+id/row1label"                    android:layout_toLeftOf="@+id/row1endlabel"                    android:inputType="numberDecimal"/>                <TextView                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:text="万"                    android:textSize="18sp"                    android:layout_marginLeft="10dp"                    android:layout_centerVertical="true"                    android:layout_alignParentEnd="true"                    android:id="@+id/row1endlabel"                    android:layout_alignParentRight="true" />            </RelativeLayout>            <RelativeLayout                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:id="@+id/relativeLayout2"                android:layout_below="@+id/relativeLayout1"                android:layout_marginTop="20dp">                <TextView                    android:id="@+id/row2label"                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:text="按揭部分:"                    android:layout_centerVertical="true"                    android:textSize="18sp"                    />                <EditText                    android:id="@+id/row2edit"                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:layout_centerVertical="true"                    android:hint="请输入按揭百分比"                    android:singleLine="true"                    android:textSize="16dp"                    android:background="@drawable/edittext_style"                    android:padding="5dp"                    android:gravity="right"                    android:layout_toRightOf="@+id/row2label"                    android:layout_toLeftOf="@+id/row2endlabel"                    android:inputType="numberDecimal"/>                <TextView                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:text=" %"                    android:textSize="18sp"                    android:layout_marginLeft="10dp"                    android:layout_centerVertical="true"                    android:layout_alignParentEnd="true"                    android:id="@+id/row2endlabel"                    android:layout_alignParentRight="true" />            </RelativeLayout>            <Button                android:id="@+id/totalcal"                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:layout_below="@+id/relativeLayout2"                android:layout_marginTop="15dp"                android:background="@drawable/btn_style"                android:text="计算贷款总额" />            <TextView                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:text="其中贷款部分为:***万"                android:layout_below="@+id/totalcal"                android:layout_marginTop="10dp"                android:textSize="16sp"                android:id="@+id/showtotal"/>            <RelativeLayout                android:id="@+id/relativeLayout3"                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:layout_below="@+id/showtotal"                android:layout_marginTop="10dp">                <TextView                    android:id="@+id/row3label"                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:text="还款方式:"                    android:textSize="16sp"                    android:layout_centerVertical="true"/>                <RadioGroup                    android:id="@+id/radiogroup"                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:layout_toRightOf="@+id/row3label"                    android:orientation="horizontal">                    <RadioButton                        android:id="@+id/btn1"                        android:layout_width="wrap_content"                        android:layout_height="wrap_content"                        android:text="等额本息"                        android:checked="true"/>                    <RadioButton                        android:id="@+id/btn2"                        android:layout_width="wrap_content"                        android:layout_height="wrap_content"                        android:text="等额本金"                        android:layout_marginLeft="10dp"/>                </RadioGroup>            </RelativeLayout>            <RelativeLayout                android:id="@+id/relativeLayout4"                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:layout_below="@+id/relativeLayout3">                <CheckBox                    android:id="@+id/check1"                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:text="商贷:    "/>                <EditText                    android:id="@+id/row4label"                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:layout_centerVertical="true"                    android:hint="请输入商业贷款总额(单位万)"                    android:singleLine="true"                    android:textSize="16dp"                    android:background="@drawable/edittext_style"                    android:padding="5dp"                    android:gravity="right"                    android:layout_toRightOf="@+id/check1"                    android:layout_toLeftOf="@+id/row4endlabel"                    android:inputType="numberDecimal"/>                <TextView                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:text="万"                    android:textSize="18sp"                    android:layout_marginLeft="10dp"                    android:layout_centerVertical="true"                    android:layout_alignParentEnd="true"                    android:id="@+id/row4endlabel"/>            </RelativeLayout>            <RelativeLayout                android:id="@+id/relativeLayout5"                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:layout_below="@+id/relativeLayout4"                android:layout_marginTop="5dp">                <CheckBox                    android:id="@+id/check2"                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:text="公积金:"/>                <EditText                    android:id="@+id/row5label"                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:layout_centerVertical="true"                    android:hint="请输入公积金贷款总额(单位万)"                    android:singleLine="true"                    android:textSize="16dp"                    android:background="@drawable/edittext_style"                    android:padding="5dp"                    android:gravity="right"                    android:layout_toRightOf="@+id/check2"                    android:layout_toLeftOf="@+id/row5endlabel"                    android:inputType="numberDecimal"/>                <TextView                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:text="万"                    android:textSize="18sp"                    android:layout_marginLeft="10dp"                    android:layout_centerVertical="true"                    android:layout_alignParentEnd="true"                    android:id="@+id/row5endlabel" />            </RelativeLayout>            <RelativeLayout                android:id="@+id/relativeLayout6"                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:layout_below="@id/relativeLayout5"                android:layout_marginTop="10dp">                <TextView                    android:id="@+id/row6label"                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:text="贷款年限:"                    android:textSize="16sp"                    android:layout_centerVertical="true"/>                <Spinner                    android:id="@+id/sp1"                    android:layout_centerVertical="true"                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:spinnerMode="dialog"                    android:layout_toRightOf="@+id/row6label">                </Spinner>            </RelativeLayout>            <RelativeLayout                android:id="@+id/relativeLayout7"                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:layout_below="@+id/relativeLayout6"                android:layout_marginTop="10dp">                <TextView                    android:id="@+id/row7label"                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:text="基准利率:"                    android:layout_centerVertical="true"                    android:textSize="16sp"/>                <Spinner                    android:id="@+id/sp2"                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:spinnerMode="dialog"                    android:layout_centerVertical="true"                    android:layout_toRightOf="@+id/row7label">                </Spinner>            </RelativeLayout>            <Button                android:id="@+id/detail"                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:layout_below="@+id/relativeLayout7"                android:layout_marginTop="15dp"                android:background="@drawable/btn_style"                android:text="计算还款明细"/>            <TextView                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:text="还款总额为:***万\n其中利息总额为:***万\n月供(每月还款额)为:***"                android:layout_below="@+id/detail"                android:layout_marginTop="10dp"                android:textSize="16sp"                android:id="@+id/alldetail"/>        </RelativeLayout>    </ScrollView></RelativeLayout>

edittext_style.xml

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:state_focused="true">        <shape>            <corners android:radius="5dp"/>            <stroke android:width="1dp"                android:color="#00DDFF"/>        </shape>    </item>    <item android:state_focused="false">        <shape>            <corners android:radius="5dp"/>            <stroke android:width="1dp"                android:color="#000000"/>        </shape>    </item></selector>

btn_style.xml

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:state_pressed="true">        <shape>            <solid android:color="#808080"/>            <corners android:radius="2dp"/>            <stroke android:width="1dp"                android:color="@color/teal_200"/>        </shape>    </item>    <item android:state_pressed="false">        <shape>            <solid android:color="#33E3F3"/>            <corners android:radius="2dp"/>            <stroke android:width="1dp"                android:color="#07AC78"/>        </shape>    </item></selector>

dimens.xml

<resources>    <!-- Default screen margins, per the Android Design guidelines. -->    <dimen name="activity_horizontal_margin">16dp</dimen>    <dimen name="activity_vertical_margin">16dp</dimen></resources>

Android如何实现房贷计算器

Android如何实现房贷计算器

以上就是“Android如何实现房贷计算器”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android如何实现房贷计算器

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android如何实现房贷计算器

今天小编给大家分享一下Android如何实现房贷计算器的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。fangdai(acti
2023-06-30

android studio如何实现简易的计算器

本篇内容主要讲解“android studio如何实现简易的计算器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“android studio如何实现简易的计算器”吧!先看效果图基本功能:加,减,
2023-06-30

Android实现加法计算器

本文实例为大家分享了Android实现加法计算器的具体代码,供大家参考,具体内容如下布局 2022-06-06

Android实现简易计算器(可以实现连续计算)

发一个库存程序,好像是几个礼拜之前写的吧,是一个用安卓实现的简易的计算器,写这个小程序之前,看了很多人写的计算器,觉得使用一个 EditText,并将它设置为不可编写,是比较好的解决方案。 设计思路主要是: 根据用户的点击,在一个 Edit
2022-06-06

JavaScript如何实现计算器

这篇文章主要为大家展示了“JavaScript如何实现计算器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript如何实现计算器”这篇文章吧。一、实例代码HTML:
2023-06-26

Android studio如何实现简易的计算器功能

这篇文章主要讲解了“Android studio如何实现简易的计算器功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android studio如何实现简易的计算器功能”吧!具体效果如下J
2023-06-30

Android studio实现简单计算器

本文实例为大家分享了Android studio实现简单计算器的具体代码,供大家参考,具体内容如下 需求分析 在Android studio中设计并实现一个简单的计算器,实现连续的加减乘除运算。 界面设计 采用网格GridLayout布局,
2022-06-06

Android Studio如何实现简易进制转换计算器

这篇文章主要介绍了Android Studio如何实现简易进制转换计算器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android Studio如何实现简易进制转换计算器文章都会有所收获,下面我们一起来看看吧
2023-06-30

Python如何实现GUI计算器

本文小编为大家详细介绍“Python如何实现GUI计算器”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python如何实现GUI计算器”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。效果可执行正常加减乘除相关运算
2023-07-04

Android实现简单加法计算器

本文实例为大家分享了Android实现简单加法计算器的具体代码,供大家参考,具体内容如下package com.example.calculator; import android.os.Bundle; import android.app
2022-06-06

android计算器简单实现代码

本文实例为大家分享了android计算器的具体实现代码,供大家参考,具体内容如下java代码:package com.itheima74.simplecalculator4; import android.os.Bundle; import
2022-06-06

简单实现Android计算器功能

自己写的安卓的计算器: 注:这个是在mac中开发的,如果要在windows的eclipse中运行可能会出现路径问题,解决办法从windows中已有的安卓工程根目录下复制一下classpath文件,然后复制粘贴覆盖掉这个工程根目录里面的路径文
2022-06-06

Android Studio实现简单计算器APP

一、简介:用Android Studio 实现一个简单的计算器APP,并在蓝叠模拟器中运行。 该计算器只能实现两位数字的四则运算。 二、代码 activity_main.xml ---界面设计
2022-06-06

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录