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)聽(tīng)
? ? ? ? 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à)和按揭部分信息填寫(xiě)完整",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)聽(tīng)貸款總額和按揭部分?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)聽(tīng)勾選的多選框
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? Toast.makeText(fangdai.this,"請(qǐng)勾選貸款種類(lèi)",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)將空信息填寫(xiě)完整",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ě)的兩項(xiàng)貸款總額不等于初始貸款額度,請(qǐng)重新填寫(xiě)",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)將空信息填寫(xiě)完整",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ě)的兩項(xiàng)貸款總額不等于初始貸款額度,請(qǐng)重新填寫(xiě)",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)制用戶(hù)不能輸入非數(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ì)算器功能
- 從零開(kāi)始學(xué)android實(shí)現(xiàn)計(jì)算器功能示例分享(計(jì)算器源碼)
- Android開(kāi)發(fā)實(shí)現(xiàn)的簡(jiǎn)單計(jì)算器功能【附完整demo源碼下載】
- android計(jì)算器簡(jiǎn)單實(shí)現(xiàn)代碼
- Android計(jì)算器編寫(xiě)代碼
- 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)畫(huà)
這篇文章主要為大家詳細(xì)介紹了Android利用Theme自定義Activity間的切換動(dòng)畫(huà),感興趣的小伙伴們可以參考一下2016-09-09
Android 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-06
Android 實(shí)現(xiàn)自動(dòng)打電話(huà)與發(fā)短信的實(shí)例
這篇文章主要介紹了Android 實(shí)現(xiàn)自動(dòng)打電話(huà)與發(fā)短信的實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-05-05
Android應(yīng)用中使用XmlSerializer序列化XML數(shù)據(jù)的教程
這篇文章主要介紹了Android應(yīng)用中使用XmlSerializer序列化XML數(shù)據(jù)的教程,XmlSerializer序列化XML同時(shí)也是將數(shù)據(jù)寫(xiě)為XML格式的基本方法,需要的朋友可以參考下2016-04-04
Android Intent實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)的方法示例
本篇文章主要介紹了Android Intent實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
Android自定義ViewGroup實(shí)現(xiàn)流式布局
這篇文章主要為大家詳細(xì)介紹了Android自定義ViewGroup實(shí)現(xiàn)流式布局,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09
android使用FlipAnimation實(shí)現(xiàn)3D垂直翻轉(zhuǎn)動(dòng)畫(huà)
這篇文章主要為大家詳細(xì)介紹了android使用FlipAnimation實(shí)現(xiàn)3D垂直翻轉(zhuǎn)動(dòng)畫(huà),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12
Android實(shí)現(xiàn)底部導(dǎo)航欄效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)底部導(dǎo)航欄效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
Android EditText限制輸入字符類(lèi)型的方法總結(jié)
這篇文章主要介紹了Android EditText限制輸入字符類(lèi)型的方法總結(jié)的相關(guān)資料,需要的朋友可以參考下2017-03-03

