Android - Custom Calculator on Android Example

When us want to use a calculator on android then should custom layout of number .

Today i'll intruduco you to Demo custom Calculator on android 

Step 1. Create layout item number. ( item_number.xml)
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="50dp">
<Button android:id="@+id/btnNumber" android:gravity="center" android:layout_width="match_parent" android:layout_height="50dp" />
</LinearLayout>

Step 2.  Create class NumberAdapter.java
public class NumberApdater extends BaseAdapter implements View.OnClickListener {
private ArrayList<NumberMT> listNumber;
private Context mContext;
private LayoutInflater mLayout;
private OnclickNumber mOnclick;
public NumberApdater(Context context,ArrayList<NumberMT> list,OnclickNumber click){
mContext = context;
listNumber = list;
mOnclick = click;
mLayout = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override public int getCount() {
return listNumber.size();
}
@Override public Object getItem(int position) {
return listNumber.get(position);
}
@Override public long getItemId(int position) {
return 0;
}
@Override public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if(convertView == null){
convertView = mLayout.inflate(R.layout.item_number,null);
holder = new ViewHolder();
holder.btnNumber = (Button) convertView.findViewById(R.id.btnNumber);
convertView.setTag(holder);
}else{
holder = (ViewHolder)convertView.getTag();
}
NumberMT numberMT = listNumber.get(position);
holder.btnNumber.setText(String.valueOf(numberMT.getNumber()));
if(numberMT.getNumber() == 10){
holder.btnNumber.setText("AC");
}else if(numberMT.getNumber() == 11){
holder.btnNumber.setText("<--");
}
holder.btnNumber.setOnClickListener(this);
holder.btnNumber.setTag(position);
return convertView;
}
@Override public void onClick(View v) {
int position = Integer.parseInt(v.getTag() + "");
switch (v.getId()){
case R.id.btnNumber:
mOnclick.clickNumber(position);
break;
}
}
class ViewHolder{
private Button btnNumber;
}
public interface OnclickNumber{
void clickNumber(int position);
}
}
Step 3. Create layout activity_math_number.xml.
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent">
<EditText android:id="@+id/et_number_aws" android:layout_width="match_parent" android:layout_centerInParent="true" android:enabled="true" android:inputType="number" android:padding="20dp" android:layout_marginLeft="100dp" android:layout_marginRight="100dp" android:layout_marginTop="10dp" android:background="@drawable/shapre_tv_hcn_pre" android:layout_height="wrap_content" />
<GridView android:id="@+id/grl_mt" android:layout_width="match_parent" android:layout_alignParentBottom="true" android:numColumns="3" android:background="@color/color_bg_75250a" android:layout_height="wrap_content"/>
</RelativeLayout>
Step 4. Create class MathNumber.java.
public class MathNumber extends BaseActivity implements NumberApdater.OnclickNumber{
private ArrayList<NumberMT> mListNumber = new ArrayList<>();
private NumberApdater mAdapter;
@AfterViews void init(){
initAddNumber();
initAdapterMT();
}
private void initAddNumber(){
NumberMT numberMT;
for(int i =1;i<=9;i++){
numberMT = new NumberMT();
numberMT.setNumber(i);
mListNumber.add(numberMT);
}
numberMT = new NumberMT();
numberMT.setNumber(0);
mListNumber.add(numberMT);
numberMT = new NumberMT();
numberMT.setNumber(10);
mListNumber.add(numberMT);
numberMT = new NumberMT();
numberMT.setNumber(11);
mListNumber.add(numberMT);
}
private void initAdapterMT(){
mAdapter = new NumberApdater(this,mListNumber,this);
mGrl_mt.setAdapter(mAdapter);
mAdapter.notifyDataSetChanged();
}
@Override public void clickNumber(int position) {
String number = mEt_number_aws.getText().toString();
NumberMT numberMT = mListNumber.get(position);
if(numberMT.getNumber() == 10){
mEt_number_aws.setText("");
}else if(numberMT.getNumber() == 11){
}else {
number += numberMT.getNumber()+"";
mEt_number_aws.setText(number);
}
}
}
Tags: Custom Calculator on android, example custom calculator, demo custom calculator on android
Previous
Next Post »

ConversionConversion EmoticonEmoticon

:)
:(
=(
^_^
:D
=D
=)D
|o|
@@,
;)
:-bd
:-d
:p
:ng