Android實(shí)現(xiàn)房貸計(jì)算器
本文實(shí)例為大家分享了Android實(shí)現(xiàn)房貸計(jì)算器的具體代碼,供大家參考,具體內(nèi)容如下
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); ? ? ? ? //建立數(shù)據(jù)源 ? ? ? ? String[] years=getResources().getStringArray(R.array.years); ? ? ? ? String[] baserates=getResources().getStringArray(R.array.baserate); ? ? ? ? //聲明一個(gè)下拉列表的數(shù)組適配器并綁定數(shù)據(jù)源 ? ? ? ? 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); ? ? ? ? //設(shè)置默認(rèn)選擇第一項(xiàng) ? ? ? ? spinner1.setSelection(0); ? ? ? ? spinner2.setSelection(0); ? ? ? ? //設(shè)置標(biāo)題 ? ? ? ? spinner1.setPrompt("請(qǐng)選擇貸款年限"); ? ? ? ? spinner2.setPrompt("請(qǐng)選擇基準(zhǔn)利率"); ? ? } ? ? //聲明下列函數(shù)中要用到的變量 ? ? double intotal,backtotal,extra,pertime;//貸款總額,還款總額,利息,每月還款總額 ? ? int month;//月份 ? ? String buytotal;//購(gòu)房總額 ? ? 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); ? ? ? ? //給第一個(gè)計(jì)算按鈕添加點(diǎn)擊監(jiān)聽 ? ? ? ? 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))//判斷前兩個(gè)輸入框是否非空 ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? Toast.makeText(fangdai.this,"購(gòu)房總價(jià)和按揭部分信息填寫完整",Toast.LENGTH_LONG).show(); ? ? ? ? ? ? ? ? }else if(fangdaitext.isNum(buytotal)==false||fangdaitext.isNum(percent)==false){//判斷輸入的是否是數(shù)字 ? ? ? ? ? ? ? ? ? ? Toast.makeText(fangdai.this,"包含不合法的輸入信息",Toast.LENGTH_LONG).show(); ? ? ? ? ? ? ? ? } else if(Double.parseDouble(percent)>100){//判斷百分比部分輸入是否大于100% ? ? ? ? ? ? ? ? ? ? Toast.makeText(fangdai.this,"按揭部分不能超過(guò)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)+"萬(wàn)元"); ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? }); ? ? ? ? detail.setOnClickListener(new View.OnClickListener() { ? ? ? ? ? ? @Override ? ? ? ? ? ? public void onClick(View view) { ? ? ? ? ? ? ? ? //first,second為商貸和公積金貸所填數(shù)值 ? ? ? ? ? ? ? ? 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("其中貸款部分為:***萬(wàn)")){//判斷是否計(jì)算過(guò)貸款總額 ? ? ? ? ? ? ? ? ? ? Toast.makeText(fangdai.this,"請(qǐng)先計(jì)算貸款總額",Toast.LENGTH_LONG).show(); ? ? ? ? ? ? ? ? }else if(row1edit.getText().toString().equals(buytotal)==false||row2edit.getText().toString().equals(percent)==false){//監(jiān)聽貸款總額和按揭部分?jǐn)?shù)值是否發(fā)生變化 ? ? ? ? ? ? ? ? ? ? Toast.makeText(fangdai.this,"檢查到您的購(gòu)房總價(jià)或按揭部分?jǐn)?shù)據(jù)更改,請(qǐng)重新計(jì)算貸款總額",Toast.LENGTH_LONG).show(); ? ? ? ? ? ? ? ? } else if(checkBox1.isChecked()==false&&checkBox2.isChecked()==false)//監(jiān)聽勾選的多選框 ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? Toast.makeText(fangdai.this,"請(qǐng)勾選貸款種類",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)+"萬(wàn)元\n還款總額為"+String.format("%.2f",backtotal)+"萬(wàn)元\n其中利息總額為"+String.format("%.2f",extra)+"萬(wàn)元\n還款總時(shí)間為"+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)+"個(gè)月應(yīng)還金額為:"+String.format("%.2f",array[i]*10000); ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? backtotal=sum; ? ? ? ? ? ? ? ? ? ? ? ? extra=backtotal-intotal; ? ? ? ? ? ? ? ? ? ? ? ? alldetail.setText("您的貸款總額為"+String.format("%.2f",intotal)+"萬(wàn)元\n還款總額為"+String.format("%.2f",backtotal)+"萬(wàn)元\n其中利息總額為"+String.format("%.2f",extra)+"萬(wàn)元\n還款總時(shí)間為"+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) + "萬(wàn)元\n還款總額為"+String.format("%.2f",backtotal)+"萬(wàn)元\n其中利息總額為"+String.format("%.2f",extra)+"萬(wàn)元\n還款總時(shí)間為"+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)+"個(gè)月應(yīng)還金額為:"+String.format("%.2f",array[i]*10000)+"元"; ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? backtotal=sum; ? ? ? ? ? ? ? ? ? ? ? ? extra=backtotal-intotal; ? ? ? ? ? ? ? ? ? ? ? ? alldetail.setText("您的貸款總額為"+String.format("%.2f",intotal)+"萬(wàn)元\n還款總額為"+String.format("%.2f",backtotal)+"萬(wàn)元\n其中利息總額為"+String.format("%.2f",extra)+"萬(wàn)元\n還款總時(shí)間為"+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,"請(qǐng)將空信息填寫完整",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,"填寫的兩項(xiàng)貸款總額不等于初始貸款額度,請(qǐng)重新填寫",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) + "萬(wàn)元\n還款總額為"+String.format("%.2f",backtotal)+"萬(wàn)元\n其中利息總額為"+String.format("%.2f",extra)+"萬(wàn)元\n還款總時(shí)間為"+month+"月\n每月還款金額為"+String.format("%.2f",pertime*10000)+"元"); ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? }else{ ? ? ? ? ? ? ? ? ? ? ? ? if(first.equals("請(qǐng)輸入商業(yè)貸款總額(單位萬(wàn))")||second.equals("請(qǐng)輸入公積金貸款總額(單位萬(wàn))")){ ? ? ? ? ? ? ? ? ? ? ? ? ? ? Toast.makeText(fangdai.this,"請(qǐng)將空信息填寫完整",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,"填寫的兩項(xiàng)貸款總額不等于初始貸款額度,請(qǐng)重新填寫",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)+"個(gè)月應(yīng)還金額為:"+String.format("%.2f",(array1[i]+array2[i])*10000)+"元"; ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? backtotal=sum1+sum2; ? ? ? ? ? ? ? ? ? ? ? ? ? ? extra=backtotal-intotal; ? ? ? ? ? ? ? ? ? ? ? ? ? ? alldetail.setText("您的貸款總額為"+String.format("%.2f",intotal)+"萬(wàn)元\n還款總額為"+String.format("%.2f",backtotal)+"萬(wàn)元\n其中利息總額為"+String.format("%.2f",extra)+"萬(wàn)元\n還款總時(shí)間為"+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) {//強(qiáng)制用戶不能輸入非數(shù)字和小數(shù)點(diǎn)之外的字符 ? ? ? ? ? ? ? ? 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="購(gòu)房總價(jià):" ? ? ? ? ? ? ? ? ? ? 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="請(qǐng)輸入購(gòu)房總價(jià)(單位萬(wàn))" ? ? ? ? ? ? ? ? ? ? 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="萬(wàn)" ? ? ? ? ? ? ? ? ? ? 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="請(qǐng)輸入按揭百分比" ? ? ? ? ? ? ? ? ? ? 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="計(jì)算貸款總額" /> ? ? ? ? ? ? <TextView ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? ? ? android:text="其中貸款部分為:***萬(wàn)" ? ? ? ? ? ? ? ? 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="請(qǐng)輸入商業(yè)貸款總額(單位萬(wàn))" ? ? ? ? ? ? ? ? ? ? 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="萬(wàn)" ? ? ? ? ? ? ? ? ? ? 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="請(qǐng)輸入公積金貸款總額(單位萬(wàn))" ? ? ? ? ? ? ? ? ? ? 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="萬(wàn)" ? ? ? ? ? ? ? ? ? ? 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="基準(zhǔn)利率:" ? ? ? ? ? ? ? ? ? ? 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="計(jì)算還款明細(xì)"/> ? ? ? ? ? ? <TextView ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? ? ? android:text="還款總額為:***萬(wàn)\n其中利息總額為:***萬(wà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>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android實(shí)現(xiàn)房貸計(jì)算器功能
- 從零開始學(xué)android實(shí)現(xiàn)計(jì)算器功能示例分享(計(jì)算器源碼)
- Android開發(fā)實(shí)現(xiàn)的簡(jiǎn)單計(jì)算器功能【附完整demo源碼下載】
- android計(jì)算器簡(jiǎn)單實(shí)現(xiàn)代碼
- Android計(jì)算器編寫代碼
- android計(jì)時(shí)器,時(shí)間計(jì)算器的實(shí)現(xiàn)方法
- Android Studio實(shí)現(xiàn)簡(jiǎn)易計(jì)算器
- Android實(shí)現(xiàn)簡(jiǎn)易計(jì)算器小程序
- android studio實(shí)現(xiàn)計(jì)算器
- Android中使用GridLayout網(wǎng)格布局來(lái)制作簡(jiǎn)單的計(jì)算器App
相關(guān)文章
Android利用Theme自定義Activity間的切換動(dòng)畫
這篇文章主要為大家詳細(xì)介紹了Android利用Theme自定義Activity間的切換動(dòng)畫,感興趣的小伙伴們可以參考一下2016-09-09Android Okhttp斷點(diǎn)續(xù)傳面試深入解析
這篇文章主要給大家介紹了關(guān)于Android Okhttp斷點(diǎn)續(xù)傳面試的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Android具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06Android 實(shí)現(xiàn)自動(dòng)打電話與發(fā)短信的實(shí)例
這篇文章主要介紹了Android 實(shí)現(xiàn)自動(dòng)打電話與發(fā)短信的實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-05-05Android應(yīng)用中使用XmlSerializer序列化XML數(shù)據(jù)的教程
這篇文章主要介紹了Android應(yīng)用中使用XmlSerializer序列化XML數(shù)據(jù)的教程,XmlSerializer序列化XML同時(shí)也是將數(shù)據(jù)寫為XML格式的基本方法,需要的朋友可以參考下2016-04-04Android Intent實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)的方法示例
本篇文章主要介紹了Android Intent實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03Android自定義ViewGroup實(shí)現(xiàn)流式布局
這篇文章主要為大家詳細(xì)介紹了Android自定義ViewGroup實(shí)現(xiàn)流式布局,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09android使用FlipAnimation實(shí)現(xiàn)3D垂直翻轉(zhuǎn)動(dòng)畫
這篇文章主要為大家詳細(xì)介紹了android使用FlipAnimation實(shí)現(xiàn)3D垂直翻轉(zhuǎn)動(dòng)畫,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12Android實(shí)現(xiàn)底部導(dǎo)航欄效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)底部導(dǎo)航欄效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01Android EditText限制輸入字符類型的方法總結(jié)
這篇文章主要介紹了Android EditText限制輸入字符類型的方法總結(jié)的相關(guān)資料,需要的朋友可以參考下2017-03-03