android studio开发笔记一

1.
ImageButton:显示图片的一个控件
属性:
android:src="@路径"
android:backgroud="@路径" 充当背景
android:backgroud="#ffffff" 颜色充当背景

2.button和ImageButton特征:
(1)共有的特性:都可以作为一个按钮产生点击事件
(2)不同:button有text属性,imagebutton有src属性
(3)产生明显的点击效果

3.onClick事件
(1)Button和ImageButton都拥有一个onclick事件,通过自身
的.setOnclickListener(OnClickListener)方法添加点击事件
(2)所有的控件都有一个onclick事件,不仅仅button和imageButton拥有
(3)通过点击事件的监听可以实现点击按钮之后要发生什么动作。

4.监听事件实现的三种方法:
(1)匿名内部类的实现
(2)独立类的实现
(3)实现接口的方式来实现
代码:
activity_main:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.administrator.image.MainActivity">

<!--
src为显示图片;
background为背景图片
orientation表示布局,可以为vertical
-->
<!--
<ImageButton
android:background="#cccccc"
android:id="@+id/ImageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/img"
/>
-->
<!--
<ImageButton
android:id="@+id/ImageButton2"
android:layout_width="match_parent"
android:layout_height="20dp"
android:background="@drawable/background"
/>
-->

<!--通过访问字符串资源来定义button的名字
android:text="@string/button_name"
-->
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按钮1"
/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按钮2"
/>

<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/img"
/>
</LinearLayout>

MainActivity:
package com.example.administrator.image;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
private Button loginButton;
private Button loginButton1;
private Button imgButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/*
1.初始化当前所需要控件,如何初始化一个控件?
findViewById--返回的是一个View的对象,所以要转换为Button对象
findViewById如何查找对应View的id
2.设置button的监听器,通过监听器实现我们点击button要操作的事情
*/
loginButton=(Button)findViewById(R.id.button1);
loginButton1=(Button)findViewById(R.id.button2);
imgButton=(Button)findViewById(R.id.button3);
/*
监听事件方式:1.匿名内部类

loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//在当前onClick方法中监听点击button的动作
System.out.println("我的button被点击了");
Log.i("tag","独立实现onclick事件");
}
});
*/

/*
监听事件方式:2.外部类的写法和作用

loginButton.setOnClickListener(new MyOnClickListener(){
@Override
public void onClick(View v) {
//调用父类的onclick
super.onClick(v);
Toast.makeText(MainActivity.this,"button1要执行的逻辑",Toast.LENGTH_LONG).show();
}
});

loginButton1.setOnClickListener(new MyOnClickListener(){
@Override
public void onClick(View v) {
//调用父类的onclick
super.onClick(v);
Toast.makeText(MainActivity.this,"button2要执行的逻辑",Toast.LENGTH_LONG).show();
}
});
*/
/*
通过实现一个接口的方式实现监听事件
*/
}

}
//onclickListener是一个接口,不能继承
class MyOnClickListener implements View.OnClickListener{
@Override
public void onClick(View v){
// Log.i("tag","父类的onclick事件");
//让所有使用前外部类的点击事件的按钮都要做出一个动作,改变button本身的透明
v.setAlpha(0.5f);
}
}

posted @ 2016-09-03 00:33  xiaofeiyang  阅读(863)  评论(0编辑  收藏  举报