ButtonUI

图片: 1     2:

=========================================================================

=================================================================================

====================================================

图片3,  4,  5:

  • 代码阅读
  • 点击按钮6 切换到图片界面  点击图片可进行图片1 和 2多次切换
  • 点击按钮5 切换到图片界面  点击图片可进行图片3, 4,  5  多次切换

===========================================================================

代码实现:MainActivity.java

 1 package com.example.a07_button;
 2
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.content.Intent;
 6 import android.util.Log;
 7 import android.view.Menu;
 8 import android.view.View;
 9 import android.view.View.OnClickListener;
10 import android.widget.Button;
11 import android.widget.Toast;
12
13 public class MainActivity extends Activity implements OnClickListener {
14  private Button btn, btn1, btn2, btn3, btn4, btn5;
15
16  @Override
17  protected void onCreate(Bundle savedInstanceState) {
18   super.onCreate(savedInstanceState);
19   setContentView(R.layout.activity_main);
20   findbyid();// 实现这个方法,调用写完,在去写实现 ,Ctrl+1就可以实现
21   btn.setOnClickListener(new OnClickListener() {
22
23    @Override
24    public void onClick(View v) {
25     // Toast叫做文本提示框
26     Toast.makeText(getApplicationContext(), "匿名内部类的形式", 1).show();
27     /**
28      * 参数1 :上下文对象 参数2: 打印信息 参数3: 延迟时间
29      */
30    }
31   });
32   btn1.setOnClickListener(new onclickli());// 内部类的实现
33   outclick o = new outclick(getApplicationContext());// 创建他的对象传递getApplicationContext
34   btn2.setOnClickListener(o);
35
36   btn3.setOnClickListener(this);// this 代表的是当前类的对象 MainActivity
37   btn4.setOnClickListener(this);
38  }
39
40  private void findbyid() {
41   btn = (Button) findViewById(R.id.button1);// 匿名内部类的形式
42   btn1 = (Button) findViewById(R.id.button2);// 内部类的实现
43   btn2 = (Button) findViewById(R.id.button3);// 外部类的实现
44   btn3 = (Button) findViewById(R.id.button4);// Activity的接口实现
45   btn4 = (Button) findViewById(R.id.button5);
46   btn5 = (Button) findViewById(R.id.button6);// 在XMl使用android:onClick="MyLinsten"
47
48  }
49
50  class onclickli implements OnClickListener {// 内部类的实现
51
52   @Override
53   public void onClick(View v) {
54    Toast.makeText(getApplicationContext(), "内部类的实现", 1).show();
55
56   }
57
58  }
59
60  public void MyLinsten(View v) {// 这是第五种方法
61   Intent i = new Intent(getApplicationContext(), SecondImageButton.class);
62   startActivity(i);
63
64  }
65
66  @Override
67  public void onClick(View v) {
68   switch (v.getId()) {
69   case R.id.button4:
70    Toast.makeText(getApplicationContext(), "这是按钮4", 1).show();
71
72    break;
73   case R.id.button5: // Imageview的跳转
74    Toast.makeText(getApplicationContext(), "这是按钮5", 1).show();
75    Intent i = new Intent(getApplicationContext(), thirdImageView.class);
76    startActivity(i);
77
78    break;
79   default:
80    break;
81   }
82
83  }
84
85 }
86  

=====================================================================================

outclick.java:

outclick.java

 1 package com.example.a07_button;
 2
 3 import com.example.a07_button.MainActivity.onclickli;
 4
 5 import android.content.Context;
 6 import android.view.View;
 7 import android.view.View.OnClickListener;
 8 import android.widget.Toast;
 9
10 public class outclick implements OnClickListener {
11  /**
12   * Context(上下文对象):他只有在activity里面有这个对象
13   */
14  private Context context;
15
16  public outclick(Context context) {
17   //使用构造器进行传递context 赋值给我们的属性并声明全局,以供给我们的onclick方法使用
18   this.context = context;
19  }
20
21  @Override
22  public void onClick(View v) {
23   Toast.makeText(context, "当前为外部类", 1).show();
24  }
25
26 }

===================================================================================

.java

SecondImageButton.java:

 1 package com.example.a07_button;
 2
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5 import android.view.View;
 6 import android.view.View.OnClickListener;
 7 import android.widget.ImageButton;
 8
 9 public class SecondImageButton extends Activity {
10  private ImageButton ib2;
11  private boolean flag = true;
12
13  @Override
14  protected void onCreate(Bundle savedInstanceState) {
15   // TODO Auto-generated method stub
16   super.onCreate(savedInstanceState);
17   setContentView(R.layout.activity_second);
18   /**
19    * 当我们设置为src时 android:src="@drawable/nvjing" 改变图片用的是
20    *
21    * ib2.setImageResource(R.drawable.hanbing); 当我们设置为background
22    */
23   ib2 = (ImageButton) findViewById(R.id.ib);
24   ib2.setOnClickListener(new OnClickListener() {
25
26    @Override
27    public void onClick(View v) {
28     if (flag) {
29      ib2.setBackgroundResource(R.drawable.nvjing);
30      flag = false;
31      // 对应android:background="@drawable/hanbing"
32     } else {
33      ib2.setBackgroundResource(R.drawable.hanbing);// 对应android:background="@drawable/hanbing"
34      flag = true;
35     }
36
37     // ib2.setImageResource(R.drawable.hanbing);//这是对应src的属性
38
39    }
40   });
41  }
42 }

=================================================================================

thirdImageView.java

thirdImageView.java:

 1 package com.example.a07_button;
 2
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5 import android.view.View;
 6 import android.view.View.OnClickListener;
 7 import android.widget.Button;
 8 import android.widget.ImageView;
 9
10 public class thirdImageView extends Activity implements OnClickListener {
11  private Button pre, next;
12  private ImageView iv;
13  private int iamges[];
14  private int current;
15
16  @Override
17  protected void onCreate(Bundle savedInstanceState) {
18   // TODO Auto-generated method stub
19   super.onCreate(savedInstanceState);
20   setContentView(R.layout.activity_third);
21   findbyid();
22   Init();
23  }
24
25  private void Init() {
26   iamges = new int[] { R.drawable.hanbing, R.drawable.kate,
27     R.drawable.nvjing };
28   // iv.setImageDrawable(getResources().getDrawable(R.drawable.kate));//寻找型
29   iv.setBackgroundResource(R.drawable.kate);// 对应的是第二章图片
30   current = 1;
31
32  }
33
34  private void findbyid() {
35   pre = (Button) findViewById(R.id.pre);
36   next = (Button) findViewById(R.id.next);
37   iv = (ImageView) findViewById(R.id.iv);
38   pre.setOnClickListener(this);
39   next.setOnClickListener(this);
40
41  }
42
43  @Override
44  public void onClick(View v) {
45   switch (v.getId()) {
46   case R.id.pre:// 上一张
47     current = (current - 1 + iamges.length) % iamges.length;
48
49    iv.setBackgroundResource(iamges[current]);
50    break;
51   case R.id.next:// 下一张
52     current = (current + 1 + iamges.length) % iamges.length;
53
54    iv.setBackgroundResource(iamges[current]);
55    break;
56   default:
57    break;
58   }
59
60  }
61 }

=================================================================================

AndroidManifest.xml:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 3     package="com.example.a07_button"
 4     android:versionCode="1"
 5     android:versionName="1.0" >
 6     <uses-sdk
 7         android:minSdkVersion="10"
 8         android:targetSdkVersion="10" />
 9
10     <application
11         android:allowBackup="true"
12         android:icon="@drawable/ic_launcher"
13         android:label="@string/app_name"
14         android:theme="@style/AppTheme" >
15         <activity
16             android:name="com.example.a07_button.MainActivity"
17             android:label="@string/app_name" >
18             <intent-filter>
19                 <action android:name="android.intent.action.MAIN" />
20
21                 <category android:name="android.intent.category.LAUNCHER" />
22             </intent-filter>
23         </activity>
24         <activity android:name="com.example.a07_button.SecondImageButton" >
25         </activity>
26         <activity android:name="com.example.a07_button.thirdImageView" >
27         </activity>
28     </application>
29 </manifest>
30  
时间: 2024-10-17 14:38:15

ButtonUI的相关文章

【3】QQ 聊天界面

1.说明 稍微修改了下QQ示例里面的聊天界面界面,然后把代码扣过来完成了QQ聊天界面部分,效果还可以. 2.代码部分 // QQTalk.h文件 #ifndef __QQ_TALK_H__ #define __QQ_TALK_H__ #include <DuiLib/DuiLibEnv.h> #include <DuiLib/UIlib.h> using namespace DuiLib; #define QQ_TALK_XML _T("chatbox.xml"

UIDefaults中所有的Keys

-----------------------Font----------------------- CheckBox.font Tree.font Viewport.font ProgressBar.font RadioButtonMenuItem.font FormattedTextField.font ToolBar.font ColorChooser.font ToggleButton.font MenuItem.acceleratorFont Panel.font TextArea.f

duilib帮助

1.窗口基类:见介绍 顺便贴下出来,留底. .h 1 class WindowImplBase : public CWindowWnd, public INotifyUI, public IMessageFilterUI, public IDialogBuilderCallback, public SkinChangedReceiver 2 { 3 public: 4 WindowImplBase(); 5 virtual ~WindowImplBase(); 6 7 virtual void

DuiLib通用窗口类WindowImplBase封装

.h头文件 class WindowImplBase : public CWindowWnd, public INotifyUI, public IMessageFilterUI, public IDialogBuilderCallback, public SkinChangedReceiver { public: WindowImplBase(); virtual ~WindowImplBase(); virtual void OnFinalMessage(HWND hWnd); virtua

Duilib学习笔记《02》— 界面布局

1. 界面描述XML文件 Duilib主要是通过XML来进行界面的布局配置,程序通过读取并解析XML文件来创建对应的窗体.DuiLib的页面布局分为三类:窗体(Window).容器(Contain)和控件(Control).顾名思义窗体就是要创建的窗口,容器则相当于是窗体内的一个子窗体,可以在容器内添加容器或者控件,当然定义的位置也都是相对与容器内的左上顶点:控件就是一些常用的Button.Edit.Label等窗体上的基本元素. 容器经常使用的有VerticalLayout(垂直布局容器).H

为组件设定UI

-----------------siwuxie095 工程名:CustomizeSwing 包名:com.siwuxie095.swing 类名:MyFrame.java(主类).MyPanel.java.MyButtonUI.java 工程结构目录如下: MyFrame.java(主类): package com.siwuxie095.swing; import java.awt.Color; import java.awt.Component; import java.awt.EventQ

Duilib Caption解析

DUILib 中的 caption="x1,y1,x2,y2"x1 距离左边界的距离:rcCaption.lefty1 距离上边界的距离; rcCaption.topx2 距离右边界的距离:rcCaption.righty2 距离上边界的距离: rcCaption.bottom rcClient 为客户区域大小 标题栏范围:"rcClient.left + rcCaption.left(左边界坐标), rcCaption.top(上边界坐标), rcClient.right

UIManager的字体颜色参数对照表

FileChooser.fileTypeHeaderTextTextArea.margincom.sun.java.swing.plaf.windows.WindowsSplitPaneUIcom.sun.java.swing.plaf.windows.WindowsToolBarUIcom.sun.java.swing.plaf.windows.WindowsRootPaneUIFileChooser.fileAttrHeaderTextcom.sun.java.swing.plaf.wind

duilib开发基础:创建自定义控件的过程

转载请说明原出处,谢谢~·http://blog.csdn.net/zhuhongshu/article/details/45362751 用Duilib开发界面时,很多情况下库自带的控件不满足需求,就需要基于Duilib建立自定义控件(自绘新的控件,或者用来封装win32的子窗体,来显示视频.网页等). 在群里经常会有刚接触Duilib的朋友问题怎么建立自己的自定义控件,或者建立的控件无法正常创建出来.我简单写一篇博客,把创建自定义控件的完整过程,和一些注意事项说明一下.另外说一下如果把win