<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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tvResult"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:height="50dp"
android:text="tvResult"
/>
</LinearLayout>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btnBackspace"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="120dp"
android:layout_marginLeft="10dp"
android:text="btnbackspace"/>
<Button
android:id="@+id/btnCE"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="120dp"
android:text="btnCE"/>
</LinearLayout>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btn7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:width="60dp"
android:text="btn7"/>
<Button
android:id="@+id/btn8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:text="btn8"/>
<Button
android:id="@+id/btn9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:text="btn9"/>
<Button
android:id="@+id/btnDiv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:text="Div"/>
</LinearLayout>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btn4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:width="60dp"
android:text="btn4"/>
<Button
android:id="@+id/btn5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:text="btn5"/>
<Button
android:id="@+id/btn6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:text="btn6"/>
<Button
android:id="@+id/btnMul"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:text="Mul"/>
</LinearLayout>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:width="60dp"
android:text="btn1"/>
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:text="btn2"/>
<Button
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:text="btn3"/>
<Button
android:id="@+id/btnAdd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:text="Add"/>
</LinearLayout>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btn0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:width="60dp"
android:text="btn0"/>
<Button
android:id="@+id/btnC"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:text="btnC"/>
<Button
android:id="@+id/btnEqu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:text="="/>
<Button
android:id="@+id/btnSub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:text="Sub"/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RadioGroup radGrp = (RadioGroup) findViewById(R.id.radGrp);
int checkedRadioButtonId = radGrp.getCheckedRadioButtonId();
radGrp.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
Toast toast;
@Override
public void onCheckedChanged(RadioGroup arg0, int id) {
switch (id) {
case -1:
toast=Toast.makeText(getApplicationContext(), "Choices cleared", Toast.LENGTH_SHORT);
//显示toast信息
toast.show();
break;
case R.id.chRBtn:
toast=Toast.makeText(getApplicationContext(), "Choices cleared", Toast.LENGTH_SHORT);
toast.show();
break;
case R.id.fishRBtn:
toast=Toast.makeText(getApplicationContext(), "Chose Fish", Toast.LENGTH_SHORT);
toast.show();
break;
case R.id.stkRBtn:
toast=Toast.makeText(getApplicationContext(), "Chose Steak", Toast.LENGTH_SHORT);
toast.show();
break;
default:
toast=Toast.makeText(getApplicationContext(), "huh", Toast.LENGTH_SHORT);
toast.show();
break;
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
转载请注明出处:http://blog.csdn.net/x605940745
- package com.android.xiong.gridlayoutTest;
-
- import java.math.BigDecimal;
- import java.util.regex.Pattern;
-
- import com.android.xiong.gridlayoutTest.R.id;
-
- import android.os.Bundle;
- import android.app.Activity;
- import android.view.Menu;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.GridLayout;
- import android.widget.TextView;
-
- public class MainActivity extends Activity {
-
- private EditText print;
-
- private static String fistNumber = "0";// 第一次输入的值
- private static String secondNumber = "0";// 第二次输入的值
- private static String num = "0";// 显示的结果
- private static int flg = 0;// 结果累加一次
- public Counts take = null;
-
- private int[] btidTake = { R.id.txtdivide, R.id.txtx, R.id.txtmin,
- R.id.txttakesum };
-
- private Button[] buttonTake = new Button[btidTake.length];
-
- private int[] btidNum = { R.id.txt0, R.id.txt1, R.id.txt2, R.id.txt3,
- R.id.txt4, R.id.txt5, R.id.txt6, R.id.txt7, R.id.txt8, R.id.txt9,
- R.id.txtspl };
- private Button[] buttons = new Button[btidNum.length];
-
- private int[] btcl = { R.id.chars, R.id.charx, R.id.txtb, R.id.txtv };
- private Button[] btcls = new Button[btcl.length];
- private GridLayout gly;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- gly=(GridLayout)findViewById(R.id.gly);
- print = (EditText) findViewById(R.id.print);
- print.setText("0");
- print.setEnabled(false);
- GetNumber get = new GetNumber();
- for (int i = 0; i < btidNum.length; i++) {
- buttons[i] = (Button) findViewById(btidNum[i]);
- buttons[i].setOnClickListener(get);
- }
- Compute cm = new Compute();
- for (int i = 0; i < btidTake.length; i++) {
- buttonTake[i] = (Button) findViewById(btidTake[i]);
- buttonTake[i].setOnClickListener(cm);
- }
-
- Button eq = (Button) findViewById(R.id.txteq);
-
- eq.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- if (flg == 0) {
- secondNumber = print.getText().toString();
- if (take == Counts.DIVIDE && secondNumber.equals("0")) {
- print.setText("0不能为被除数");
- } else {
- num = take.Values(fistNumber, secondNumber);
- fistNumber = num;
- secondNumber = "0";
- print.setText(num);
- flg = 1;
- gly.setBackgroundResource(R.drawable.jz);
- }
- }
- }
- });
- Button cleargo = (Button) findViewById(R.id.cleargo);
- cleargo.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- if (num.length() > 1) {
- num = num.substring(0, num.length() - 1);
- } else {
- num = "0";
- }
- print.setText(num);
- }
- });
- Button clear = (Button) findViewById(R.id.clear);
- clear.setOnClickListener(new OnClickListener() {
-
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- num = "0";
- fistNumber = secondNumber = num;
- print.setText(num);
- flg = 0;
- }
- });
- for (int i = 0; i < btcl.length; i++) {
- btcls[i] = (Button) findViewById(btcl[i]);
- btcls[i].setOnClickListener(new OnTake());
- }
- }
-
- // 给 EditText赋值
- class GetNumber implements OnClickListener {
-
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- if (flg == 1)
- num = "0";
- if (num.equals("0")) {
- print.setText("");
- num = v.getId() == R.id.txtspl ? "0" : "";
- }
- String txt = ((Button) v).getText().toString();
- boolean s = Pattern.matches("-*(\\d+).?(\\d)*", num + txt);
- num = s ? (num + txt) : num;
- gly.setBackgroundResource(R.drawable.js);
- print.setText(num);
- }
- }
-
- // 根据条件计算
- class Compute implements OnClickListener {
-
- @Override
- public void onClick(View arg0) {
-
- fistNumber = print.getText().toString();
- // TODO Auto-generated method stub
- switch (arg0.getId()) {
- case R.id.txttakesum:
- take = Counts.ADD;
- break;
- case R.id.txtmin:
- take = Counts.MINUS;
- break;
- case R.id.txtx:
- take = Counts.MULTIPLY;
- break;
- case R.id.txtdivide:
- take = Counts.DIVIDE;
- break;
- }
- num = "0";
- flg = 0;
- gly.setBackgroundResource(R.drawable.js);
- }
-
- }
-
- class OnTake implements OnClickListener {
-
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- switch (v.getId()) {
- case R.id.chars:
- num = "-" + num;
- break;
- case R.id.charx:
- if(!num.equals("0"))
- num = BigDecimal.valueOf(1).divide(new BigDecimal(num),12,BigDecimal.ROUND_UP).stripTrailingZeros()
- .toString();
- break;
- case R.id.txtb:
- num = new BigDecimal(num).divide(BigDecimal.valueOf(100),12,BigDecimal.ROUND_UP).stripTrailingZeros()
- .toString();
- break;
- case R.id.txtv:
- Double numss = Math.sqrt(new BigDecimal(num).doubleValue());
- int stratindex=numss.toString().contains(".")?numss.toString().indexOf("."):0;
- num = numss.toString().length()>13?numss.toString().substring(0, 12+stratindex):numss.toString();
- }
- print.setText(num);
- flg=0;
- num = "0";
-
- }
-
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.main, menu);
- return true;
- }
-
- }
package com.android.xiong.gridlayoutTest;
import java.math.BigDecimal;
import java.util.regex.Pattern;
import com.android.xiong.gridlayoutTest.R.id;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.GridLayout;
import android.widget.TextView;
public class MainActivity extends Activity {
private EditText print;
private static String fistNumber = "0";// 第一次输入的值
private static String secondNumber = "0";// 第二次输入的值
private static String num = "0";// 显示的结果
private static int flg = 0;// 结果累加一次
public Counts take = null;
private int[] btidTake = { R.id.txtdivide, R.id.txtx, R.id.txtmin,
R.id.txttakesum };
private Button[] buttonTake = new Button[btidTake.length];
private int[] btidNum = { R.id.txt0, R.id.txt1, R.id.txt2, R.id.txt3,
R.id.txt4, R.id.txt5, R.id.txt6, R.id.txt7, R.id.txt8, R.id.txt9,
R.id.txtspl };
private Button[] buttons = new Button[btidNum.length];
private int[] btcl = { R.id.chars, R.id.charx, R.id.txtb, R.id.txtv };
private Button[] btcls = new Button[btcl.length];
private GridLayout gly;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gly=(GridLayout)findViewById(R.id.gly);
print = (EditText) findViewById(R.id.print);
print.setText("0");
print.setEnabled(false);
GetNumber get = new GetNumber();
for (int i = 0; i < btidNum.length; i++) {
buttons[i] = (Button) findViewById(btidNum[i]);
buttons[i].setOnClickListener(get);
}
Compute cm = new Compute();
for (int i = 0; i < btidTake.length; i++) {
buttonTake[i] = (Button) findViewById(btidTake[i]);
buttonTake[i].setOnClickListener(cm);
}
Button eq = (Button) findViewById(R.id.txteq);
eq.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (flg == 0) {
secondNumber = print.getText().toString();
if (take == Counts.DIVIDE && secondNumber.equals("0")) {
print.setText("0不能为被除数");
} else {
num = take.Values(fistNumber, secondNumber);
fistNumber = num;
secondNumber = "0";
print.setText(num);
flg = 1;
gly.setBackgroundResource(R.drawable.jz);
}
}
}
});
Button cleargo = (Button) findViewById(R.id.cleargo);
cleargo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (num.length() > 1) {
num = num.substring(0, num.length() - 1);
} else {
num = "0";
}
print.setText(num);
}
});
Button clear = (Button) findViewById(R.id.clear);
clear.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
num = "0";
fistNumber = secondNumber = num;
print.setText(num);
flg = 0;
}
});
for (int i = 0; i < btcl.length; i++) {
btcls[i] = (Button) findViewById(btcl[i]);
btcls[i].setOnClickListener(new OnTake());
}
}
// 给 EditText赋值
class GetNumber implements OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (flg == 1)
num = "0";
if (num.equals("0")) {
print.setText("");
num = v.getId() == R.id.txtspl ? "0" : "";
}
String txt = ((Button) v).getText().toString();
boolean s = Pattern.matches("-*(\\d+).?(\\d)*", num + txt);
num = s ? (num + txt) : num;
gly.setBackgroundResource(R.drawable.js);
print.setText(num);
}
}
// 根据条件计算
class Compute implements OnClickListener {
@Override
public void onClick(View arg0) {
fistNumber = print.getText().toString();
// TODO Auto-generated method stub
switch (arg0.getId()) {
case R.id.txttakesum:
take = Counts.ADD;
break;
case R.id.txtmin:
take = Counts.MINUS;
break;
case R.id.txtx:
take = Counts.MULTIPLY;
break;
case R.id.txtdivide:
take = Counts.DIVIDE;
break;
}
num = "0";
flg = 0;
gly.setBackgroundResource(R.drawable.js);
}
}
class OnTake implements OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.chars:
num = "-" + num;
break;
case R.id.charx:
if(!num.equals("0"))
num = BigDecimal.valueOf(1).divide(new BigDecimal(num),12,BigDecimal.ROUND_UP).stripTrailingZeros()
.toString();
break;
case R.id.txtb:
num = new BigDecimal(num).divide(BigDecimal.valueOf(100),12,BigDecimal.ROUND_UP).stripTrailingZeros()
.toString();
break;
case R.id.txtv:
Double numss = Math.sqrt(new BigDecimal(num).doubleValue());
int stratindex=numss.toString().contains(".")?numss.toString().indexOf("."):0;
num = numss.toString().length()>13?numss.toString().substring(0, 12+stratindex):numss.toString();
}
print.setText(num);
flg=0;
num = "0";
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
- <pre code_snippet_id="275884" snippet_file_name="blog_20140404_2_5383103">
<pre code_snippet_id="275884" snippet_file_name="blog_20140404_2_5383103">
- package com.android.xiong.gridlayoutTest;
-
- import java.math.BigDecimal;
-
- public enum Counts {
- ADD, MINUS, MULTIPLY, DIVIDE, MARK, ROOT;
- public String Values(String num1, String num2) {
- BigDecimal number1 = new BigDecimal(num1);
- BigDecimal number2 = new BigDecimal(num2);
- BigDecimal number = BigDecimal.valueOf(0);
- switch (this) {
- case ADD:
- number = number1.add(number2);
- break;
- case MINUS:
- number = number1.subtract(number2);
- break;
- case MULTIPLY:
- number = number1.multiply(number2);
- break;
- case DIVIDE:
- number = number1.divide(number2,20,BigDecimal.ROUND_UP);
- break;
-
- }
- return number.stripTrailingZeros().toString();
-
- }
-
- }
package com.android.xiong.gridlayoutTest;
import java.math.BigDecimal;
public enum Counts {
ADD, MINUS, MULTIPLY, DIVIDE, MARK, ROOT;
public String Values(String num1, String num2) {
BigDecimal number1 = new BigDecimal(num1);
BigDecimal number2 = new BigDecimal(num2);
BigDecimal number = BigDecimal.valueOf(0);
switch (this) {
case ADD:
number = number1.add(number2);
break;
case MINUS:
number = number1.subtract(number2);
break;
case MULTIPLY:
number = number1.multiply(number2);
break;
case DIVIDE:
number = number1.divide(number2,20,BigDecimal.ROUND_UP);
break;
}
return number.stripTrailingZeros().toString();
}
}
评论