android按钮图,android-UI组件实例大全(三)------按钮Button与图片按钮ImageButton

一.Button按钮

1.带阴影的普通按钮

代码:

[html]view

plaincopyprint?

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="15sp"

android:text="带阴影的普通按钮"

android:shadowColor="#AC3501"

android:shadowRadius="1"

android:shadowDx="5"

android:shadowDy="5"

/>

运行截图:

879c570dd1070f45018bc50647c5949c.png

代码解释:

shadowColor:设置阴影颜色,有这个要搭配shadowRadius

shadowRadius:设置阴影半径

shadowDx:阴影的起始横坐标,即水平方向偏移文字的距离

shadowDy:阴影的起始纵坐标,即竖直方向偏移文字的距离

2.带按下效果的按钮:

如果为想要为按钮弄一个图片的话只要background ="...."就可以设置按钮的背景图片了,但是当我们点击这个按钮的时候,

没有任何反应,o(╯□╰)o,就像在点标签一样,没意思,这里的话我们就实现具有按下效果的按钮吧

比较常用的有两种设置方法

1)在我们的布局文件中直接实现:

代码:

main.xml部分:

[html]view

plaincopyprint?

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="15sp"

android:text="有按下效果的按钮"

android:background="@drawable/backselector"

/>

上面用到的background的backselector我们需要在drawable文件下自定义一个xml文件

完成按下与没按下背景的切换

backselector部分

[html]view

plaincopyprint?

android:state_pressed="false"

android:drawable="@drawable/btnoff">

android:state_pressed="true"

android:drawable="@drawable/btnon">

运行截图:

没按下时:按下后:

0311a7f834cfa104fc35a15c41f00d20.png 232ae63a32ed1e110eab2cde9b618834.png

代码解释:

selector:可以理解为一个背景选择器,当按钮处于哪个状态的时候就会调用对应得item

[html]view

plaincopyprint?

//这个是选择

[html]view

plaincopyprint?

//这个是移动到按钮上

[html]view

plaincopyprint?

//这个是按下了按钮

2)另外一种是在java代码中设置监听事件,通过监听是否进行了点击事件从而进行背景的切换

代码如下:

[java]view

plaincopyprint?

packagecom.jay.demo.edittextdemo;

importandroid.os.Bundle;

importandroid.view.MotionEvent;

importandroid.view.View;

importandroid.view.View.OnClickListener;

importandroid.view.View.OnTouchListener;

importandroid.widget.Button;

importandroid.app.Activity;

publicclassMainActivityextendsActivity {

privateButton btnchange;

@Override

protectedvoidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

btnchange = (Button) findViewById(R.id.btnchange);

btnchange.setOnTouchListener(newOnTouchListener() {

publicbooleanonTouch(View v, MotionEvent event) {

if(event.getAction() == MotionEvent.ACTION_DOWN){

btnchange.setBackgroundResource(R.drawable.btnon);

}elseif(event.getAction() == MotionEvent.ACTION_UP){

btnchange.setBackgroundResource(R.drawable.btnoff);

}

returnfalse;

}

});

}

}

运行截图:同上

代码解释:

btnchange.setOnTouchListener:设置一个触摸事件

event.getAction() == MotionEvent.ACTION_DOWN:判断是否为按下

event.getAction() == MotionEvent.ACTION_UP:判断按钮是否弹起

setBackgroundResource(...):设置按钮的背景图片

因为Button是TextView的子类,因此一些和TextView类似的属性笔者在这里就略过了

还有,至于imageButton和Button其实差不多,这里的话我们也略过了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值