图形界面的按钮是最普通的控件,Android响应按钮的程序结构大体分成如下两种:
(1)采样匿名内部类的按钮实现方式:
如下面的Java程序,在声明Class时只是从Activity派生,并没有实现任何接口。因此为了实现按钮事件的响应,就必须在下面的方法中用匿名内部类的方式实现,比如
//退出按钮;
bt_exit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
finish();
}
});
在这段程序中,new View.OnClickListener() 就是匿名的的内部类,而
public void onClick(View v) {
// Perform action on click
finish();
}
就是这个内部类onClick方法的实现。
上述完整的程序结构如下:
public class a15act extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setTitle("调光手电筒 2010-3-20");
//建立主发光区TextView的对象;
final TextView tv_light=(TextView) findViewById(R.id.tv_light);
//建立三个Button的对象;
Button bt_low=(Button) findViewById(R.id.bt_low);
Button bt_high=(Button) findViewById(R.id.bt_high);
Button bt_exit=(Button) findViewById(R.id.bt_exit);
//退出按钮;
bt_exit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
finish();
}
});
//低亮度按钮;
bt_low.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
tv_light.setBackgroundColor(Color.GRAY);
}
});
//高亮度按钮;
bt_high.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
tv_light.setBackgroundColor(Color.WHITE);
}
});
}
}
(2)用Activity直接实现OnClickListener接口的方式:
与上面的程序结构不同,在声明Class时可以直接实现OnClickListener,然后在Class内部就可以用同一个onClick方法实现所有按钮的响应,按钮区分可采用swith--case的语句结构实现。
例如:public class mmact extends Activity implements OnClickListener, 在class声明时不仅从Activity派生,而且还实现OnClickListener 接口。在class中用语句实现接口OnClickListener 的onClick方法,即 public void onClick(View aView)。对于很多按钮事件,可以用switch--case实现,例如
switch (aView.getId()) {
case R.id.button1:
setTitle("Start the App");
EditText edt = (EditText) findViewById(R.id.edittext_name);
TextView tv = (TextView) findViewById(R.id.textview_display);
tv.setText("Hello," + edt.getText());
//android:text="YES" ;
break;
case R.id.button2:
finish();
break;
}
下面是个比较完整的程序结构:
public class mmact extends Activity implements OnClickListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//从资源文件中获取按钮对象的引用
Button sButton1 = (Button)findViewById(R.id.button1);
Button sButton2 = (Button)findViewById(R.id.button2);
//注册点击事件监听者
sButton1.setOnClickListener(this);
sButton2.setOnClickListener(this);
}
public void onClick(View aView) {
switch (aView.getId()) {
case R.id.button1:
setTitle("Start the App");
EditText edt = (EditText) findViewById(R.id.edittext_name);
TextView tv = (TextView) findViewById(R.id.textview_display);
tv.setText("Hello," + edt.getText());
//android:text="YES" ;
break;
case R.id.button2:
finish();
break;
}
}
}
分享到:
相关推荐
通过分析这个项目,我们可以学习到如何在Android应用中创建响应用户操作的动态UI,这对于开发具有交互性的应用程序非常重要。这个简单的小程序是理解Android布局管理和事件处理机制的一个实用起点。
在Android中,为了响应用户输入,我们需要使用`OnClickListener`接口。在`ComputeMachine`的`onCreate()`方法中,为每个按钮设置监听器,并在监听器的`onClick()`方法中调用`CalculatorEngine`的相关方法。 除了...
总的来说,动态添加按钮是Android开发中的基本技能,它不仅能够提高程序的灵活性,还能帮助开发者掌握Android UI编程的核心概念。通过学习和实践这个实例,你将能够更熟练地操纵Android界面,为用户提供更加丰富的...
这个"android源代码"示例专注于几个关键的Android开发技术:程序启动时播放背景音乐、自定义按钮、自定义对话框以及创建精美的用户界面。下面将详细介绍这些知识点。 1. **启动时播放背景音乐** 在Android应用启动...
2. **Android应用程序结构** 一个基本的Android应用由多个组件构成,如Activity(活动)、Service(服务)、BroadcastReceiver(广播接收器)和ContentProvider(内容提供者)。在这个投票小程序中,我们可能主要...
在Android中,所有的触摸事件都由View类处理,主要通过`onTouchEvent()`方法来响应。开发者可以通过重写这个方法,来捕获并处理用户的触摸行为,包括按下(ACTION_DOWN)、移动(ACTION_MOVE)和释放(ACTION_UP)等...
### Android系统结构与SDK使用详解 #### 一、Android系统介绍 ...总之,Android系统结构和SDK使用涉及到了从底层系统架构到应用程序开发的各个环节。开发者需要深入理解这些概念和技术,才能构建高质量的应用程序。
在Android应用程序开发中,源代码是开发者实现功能、构建用户界面和管理应用程序逻辑的核心部分。这份"《Android应用程序开发》源代码"包含了官方未修改的示例,为初学者和经验丰富的开发者提供了一个深入理解...
在Android程序设计基础中,我们主要探讨的是如何利用Java语言和Android SDK开发应用程序。这个压缩包文件"**MyAndroid**"很可能包含了多个示例项目,用于帮助初学者理解和实践Android应用的基本构造和功能。 首先,...
总的来说,这个“android 记事本程序”涵盖了Android应用开发的基本元素,从界面设计到数据管理,再到事件响应,都是初学者了解Android开发的宝贵资源。通过深入学习和实践,可以逐步掌握Android开发的技能,为后续...
1. **ch02** - 这部分可能涉及到Android Studio的基础知识,如创建一个新的Android项目、了解项目结构、设置运行环境、编写Hello World程序等。 2. **ch03** - 可能是关于布局设计的章节,包括XML布局的编写、使用...
开发者可能使用Android的`View`系统创建钢琴键盘布局,每个琴键都是一个可点击的按钮,当用户触摸时,触发对应的音符播放。 4. **多线程**: 为了保证用户交互的流畅性,音符的播放通常在后台线程中执行,避免阻塞...
在这个过程中,我们将学习到Android应用的基本结构、布局设计以及事件处理等核心概念。 首先,Android应用的核心是`Activity`,它是一个用户可以与之交互的屏幕。在我们的例子"Activity02"中,我们很可能看到一个...
在Android中,MVC(Model-View-Controller)设计模式是一种广泛应用于创建应用程序结构的方式,尤其是在UI设计中。 **1. Model(模型)** 模型层是应用程序中负责数据处理和业务逻辑的部分。在Android中,模型通常...
这个压缩包包含了8个Android小程序的源码,为开发者提供了宝贵的参考资料。每个程序都包含了详细的注释,可以帮助初学者理解代码逻辑,对于有一定经验的开发者,也能提供不同的设计思路和实现方法。以下是这些源码...
7. **事件监听**:按钮点击、滑动等用户交互都需要通过事件监听来处理,开发者会使用OnClickListener、OnTouchListener等接口来响应用户操作。 8. **多线程**:如果游戏有复杂的计算或网络请求,可能需要用到多线程...
总之,开发一个Android简单计算器程序涵盖了Android应用的基础结构、布局设计、事件处理、数学运算以及用户交互等多个方面,是学习Android开发的绝佳实践项目。通过这个项目,开发者不仅能提升编程技能,还能对...
**Qt on Android 示例程序** ...通过这些示例,开发者能够了解 Qt on Android 的核心概念,包括事件处理、网络编程、图形用户界面设计、数据结构和多线程等。这些知识对于开发高效且用户友好的 Android 应用至关重要。
这个压缩包包含了7个Android经典应用程序的源代码,对于想要深入了解Android应用开发、优化代码和学习新技巧的开发者来说,这是一个不可多得的资源。下面我们将逐一探讨这些经典应用可能包含的知识点。 1. **基础UI...
在Android中,我们通过在Activity类中定义方法来响应按钮的点击事件。例如,对于一个按钮,当用户点击时,对应的`onClick`方法会被调用。这些方法通常会更新UI或者执行相应的计算操作。在`Calculator.java`中,我们...