您的位置:首页 > 产品设计 > UI/UE

Android2.1--UI基本控件<2>--Button

2012-08-02 17:17 555 查看
Button--按钮

点击按钮,会触发事件,如果要对这个事件做出相应的处理,需要对这个按钮设置点击按钮的监听事件setOnClickListener

当点击按钮时,系统会自动调用setOnClickListener方法,去执行按钮被按下后所要执行的动作

button.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
//        Perform action on click
//        点击按键后要执行的动作

}
});


在activity中可以设置Button的属性

Button.setText--在按钮上显示文字

Button.setTextSize--设置字体大小

Button.setColor--按钮颜色

Button.setWdith--宽度

Button.setHeight--长度

Button.getText--按钮上的文字

一个简单的例子

activity TestIntent 跳转到另一个activity CountList,其中通过一个Bundle的实例在两个activity之间传递数据

TestIntent 代码如下

package com.android.testinent;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;

public class TestIntent extends Activity
{
private Button button;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_intent);
button = (Button)this.findViewById(R.id.button1);
button.setHeight(30);
button.setWidth(80);
button.setText("click");
button.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)
{
Bundle bundle = new Bundle();
String [] nameArr = {"my", "first", "bundle"};
bundle.putStringArray("NAMEARR",nameArr );
//              NAMEAR--数据的键  个人理解为查找数据的索引
//              nameArr--NAMEAR这个键对应的值
//              在activity CountList中通过这个NAMEAR键去索引获得它锁对应的值
Intent intent = new Intent(TestIntent.this,CountList.class );
intent.putExtras(bundle);//附带额外的数据,将数据放进intent中
startActivity(intent);
}
});
//      Bundle类用于携带数据,他类似于Map,用于key-value名值对应形式的值,
//      他提供了各种常用的类型put***()/get***()方法用于向bundle对象中放入数据与取出数据
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_test_intent, menu);
return true;
}
}


CountList

package com.android.testinent;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;

public class CountList extends Activity
{
private TextView showtext;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
showtext = (TextView)this.findViewById(R.id.show);
Bundle bundle = this.getIntent().getExtras();
//                         从intent中获取所带的额外数据 就是前一个activity添加进去的bundle
String [] arrayname = bundle.getStringArray("NAMEARR");
showtext.setText(arrayname[0]+"  "+arrayname[1]+"  "+arrayname[2]);

}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_test_intent, menu);
return true;
}

}


可以在按钮上添加图片

在activity的Layout中对按钮进行设计

例如在工程的res/layout/drawable/button1有个图片

在layout中的页面布局.xml中可以将button1这个图片添加在按钮上,但是这个时候按钮要声明为ImageButton,而不是Button

<ImageButton
android:id="@+id/ImageButton01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/button1">


其中android:src="@drawable/button1"是在res/layout/drawable中引用button1这个图片资源

在activity中定义按钮时同样定义为ImageButton,监听方法与Button一样

除了在xml中声明意外,还可以在activity中引用按钮的图片资源

ImageButton.setImageDrawable(getResources().getDrawable(R.drawable.button1));
//Button或者ImageButton的背景设为透明或者半透明
//对于 alpha值,表示颜色的透明度范围从0~255
//图片或北京的颜色和不透明度 (alpha) 值以十六进制表示法表示。表达式顺序是“aabbggrr”,
//其中“aa=alpha”(00 到 ff) 00 表示完全透明,ff 表示完全不透明;“bb=blue”(00 到 ff);“gg=green”(00 到 ff);“rr=red”(00 到 ff)。
//例如,如果您希望对某叠加层应用不透明度为 50% 的蓝色,则应指定以下值:7fff0000
//设置透明度可用View.getBackground().setAlpha(n);//n[0~255]透明度值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: