package com.example.test2;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText et1,et2,et3;
private RadioGroup rg;
private Button btn;
private int id,sum,chsum;
private CheckBox c1,c2,c3,c4;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
et1=(EditText) findViewById(R.id.et1);
et2=(EditText) findViewById(R.id.et2);
et3=(EditText) findViewById(R.id.et3);
rg=(RadioGroup) findViewById(R.id.rg);
btn=(Button) findViewById(R.id.btn);
//单选按钮事件
rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
id=checkedId;//将获取的ID拿到
}
});
//计算按钮事件
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
int num1=Integer.parseInt(et1.getText().toString());
int num2=Integer.parseInt(et2.getText().toString());
//通过拿到的ID来判断用什么样的运算符
switch (id) {
case R.id.rb1:
sum=num1+num2;
break;
case R.id.rb2:
sum=num1-num2;
break;
case R.id.rb3:
sum=num1*num2;
break;
case R.id.rb4:
sum=num1/num2;
break;
}
//输出结果
et3.setText(sum+"");
}
});
//复选
c1=(CheckBox) findViewById(R.id.ch1);
c1.setOnCheckedChangeListener(Listtener2);//用于监听事件
c2=(CheckBox) findViewById(R.id.ch2);
c2.setOnCheckedChangeListener(Listtener2);
c3=(CheckBox) findViewById(R.id.ch3);
c3.setOnCheckedChangeListener(Listtener2);
c4=(CheckBox) findViewById(R.id.ch4);
c4.setOnCheckedChangeListener(Listtener2);
}
CompoundButton.OnCheckedChangeListener Listtener2=new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
//获取事件
CheckBox cb = (CheckBox) buttonView;
if(isChecked){//判断是否被选中
switch (cb.getId()) {
case R.id.ch1:
chsum++;
break;
case R.id.ch2:
chsum++;
break;
case R.id.ch3:
chsum++;
break;
case R.id.ch4:
chsum++;
break;
}
}
else{//如果没有选中就--
chsum--;
}
Toast.makeText(MainActivity.this,"你选了"+ chsum+"个", 500).show();//显示
}
};
}
- 大小: 90.7 KB
分享到:
相关推荐
在Android开发中,创建一个可左右滑动的选择控件是一个常见的需求,这通常涉及到自定义View或者使用现有的库来实现。这种控件可以用于展示多个选项,用户通过左右滑动来浏览和选择。下面我们将详细探讨如何实现这样...
6. **布局使用**:在XML布局文件中,你可以像使用其他Android控件一样使用自定义组件,只需引入对应的命名空间,并在标签中设置相应的属性。 7. **复用与封装**:好的自定义控件应该具有高度的可复用性和封装性,...
在Android中,开关系列的控件主要包括Switch和ToggleButton,它们提供了简单的开/关状态切换功能。然而,为了满足特定设计需求或提供更丰富的交互体验,开发者往往需要自定义这些控件。 二、自定义开关控件步骤 1. ...
一种简单的方法是使用`ViewGroup`的`indexOfChild()`方法获取子View的索引,然后调用`ViewGroup`的`swapChildren()`或`removeViewAt()`和`addView()`方法来交换两个子View的位置。另一种方法是使用`LayoutParams`...
android旋转调控控件,模仿ios中的拟物旋转控件,可用于声音大小的调节和控制!本Demo提供一整套方法,这里只是简单的例子,需要使用者继续计算,我只是粗略算了一下。坚决反对用本例子中的图片,防止撞山!
本项目“Android自定义头部控件,简单易用”是一个毕业设计学习的源码Demo,旨在帮助开发者掌握如何在Android应用中创建自定义视图组件。 首先,我们要理解在Android中自定义头部控件的重要性。通常,头部控件包括...
重写需要定制的方法,比如`onDraw()`用于自定义绘制逻辑,`onMeasure()`用于计算控件大小等。 3. 在XML布局文件中使用自定义控件,需要指定完全限定类名。 4. 在活动中实例化并绑定数据,如果需要。 2. **组合**...
阳历日期的计算相对简单,我们可以直接使用Java的`java.util.Calendar`类或者Android的`android.text.format.Time`类来获取。而阴历转换则需要依赖第三方库,如`com.alevohin:jalaali`或`...
以下是一个简单的自定义星星评分控件实现步骤: 1. 创建一个新的Java类,如`CustomStarRatingBar`,继承自`View`或`AppCompatImageView`。在类中初始化星星图片资源和默认属性。 ```java public class ...
本项目“Android应用源码之Android 自定义头部控件,简单易用”就是一个针对这一主题的毕业设计示例,旨在帮助学习者掌握如何在Android环境中创建自定义视图并实现其功能。 首先,我们要理解Android自定义控件的基本...
本文将详细讲解如何实现一个简单的拖拽交换控件的功能,类似于Android手机应用快捷方式的拖拽交换效果。 首先,我们需要了解Android中的触摸事件处理机制。在Android中,触摸事件主要通过`MotionEvent`类来传递,...
这个“基于Android简单的日历控件”项目可能是为了帮助开发者理解和实现一个自定义的日历视图,而不是依赖系统自带的CalendarView。下面我们将深入探讨Android中创建自定义日历控件涉及的知识点。 1. **Android SDK...
3. 实现onMeasure()和onLayout()方法,确保控件的大小和位置计算正确。 4. 添加触摸事件处理,通过重写onTouchEvent()方法实现自定义的交互行为。 5. 如果需要,可以使用属性动画库为控件添加动态效果。 其次,框架...
本文将深入探讨如何使用第三方库以及自定义扩展来实现Android控件的阴影和圆角阴影功能。 首先,Android原生API虽然提供了诸如`View.setElevation()`方法来创建简单的阴影效果,但这在API 21(Lollipop)及以上版本...
在Android应用开发中,自定义控件是提升用户体验和界面个性化的重要手段。本文将深入探讨如何实现一个自定义的导航条IndicatorView,该控件具备滚动、快速滚动以及自动滚动到选中项完全显示在屏幕上的功能。我们将...
通过使用Android提供的组件和API,我们可以构建一个功能齐全且具有交互性的日历控件。在实践中,不断优化和改进,以满足用户的实际需求和良好的用户体验。记住,一个好的自定义日历控件不仅要有基本的日期切换和显示...
这些方法将使得在布局文件中配置和控制下载控件变得更加简单。 最后,为了确保代码的可维护性和复用性,我们需要对代码进行良好的组织和注释。将每个部分的功能模块化,如绘制逻辑、状态管理、颜色设置等,可以使...
这些控件可以是简单的颜色拾取器,显示一个色板让用户点击选择,或者是更复杂的滑块或调色盘,允许用户调整RGB、HSV或HEX值。 2. **系统内置的颜色选择器** Android SDK提供了一些基本的颜色选择组件,如`...
"android简单计算机源码.zip" 这个标题揭示了我们要讨论的是一个与Android操作系统相关的项目,具体来说是一个简易计算器的源代码。这个源代码可能是用Java或Kotlin编写的,因为这两种语言是Android应用开发的主要...
这个"Android Tab控件使用的最简纯净Demo"是一个专为计算机专业学生毕业设计准备的源码示例,旨在帮助他们理解和掌握Android平台上的Tab布局实现。下面,我们将详细探讨这个Demo中的关键知识点。 首先,Tab布局在...