android Button 切换背景,实现动态按钮和按钮颜色渐变
16lz
2021-01-23
android Button 切换背景,实现动态按钮和按钮颜色渐变一、添加android 背景筛选器selector实现按钮背景改变 1、右键单击项目->new->Others->Android->Android Xml File->next.
2、在 New Android Xml File对话框中的 Resource Type 下拉框中选择Drawable。在File中输入要创建的文件名。 3、在Root Element:中选择 selector(选择器)->next->finish;或者跳过该项选择,可以在生成的xml文件中添加selector的相关代码也是可以的。
4、在生成的xml文件中添加如下代码:
①实现按钮切换后实现按钮背景图片转变。[html]view plaincopy
②实现按钮切换后实现按钮颜色渐变。[html]view plaincopy
[html]view plaincopy
1、Button或者ImageButton的背景设为透明或者半透明①、半透明<Button android:background="#e0000000" ... />②、透明<Button android:background="#00000000" ... />理解:颜色和不透明度 (alpha) 值以十六进制表示法表示。任何一种颜色的值范围都是 0 到 255(00 到 ff)。对于 alpha,00 表示完全透明,ff 表示完全不透明。表达式顺序是“aabbggrr”,其中“aa=alpha”(00 到 ff);“bb=blue”(00 到 ff);“gg=green”(00 到 ff);“rr=red”(00 到 ff)。例如,如果您希望对某叠加层应用不透明度为 50% 的蓝色,则应指定以下值:7fff0000RGB设置背景图片透明度:View v = findViewById(R.id.content);//找到你要设透明背景的layout 的idv.getBackground().setAlpha(100);//0~255透明度值设置背景颜色透明度:ImageView.setBackgroundColor(Color.TRANSPARENT);
2、在 New Android Xml File对话框中的 Resource Type 下拉框中选择Drawable。在File中输入要创建的文件名。 3、在Root Element:中选择 selector(选择器)->next->finish;或者跳过该项选择,可以在生成的xml文件中添加selector的相关代码也是可以的。
4、在生成的xml文件中添加如下代码:
①实现按钮切换后实现按钮背景图片转变。[html]view plaincopy
- <?xmlversion="1.0"encoding="utf-8"?>
- <selectorxmlns:android="http://schemas.android.com/apk/res/android">
- <itemandroid:state_pressed="true"android:color="#00000000"/>
- <itemandroid:drawable="@drawable/bt_from1"/>
- </selector>
②实现按钮切换后实现按钮颜色渐变。[html]view plaincopy
- <?xmlversion="1.0"encoding="utf-8"?>
- <selectorxmlns:android="http://schemas.android.com/apk/res/android">/
- <itemandroid:state_pressed="true">//定义当button处于pressed状态时的形态。
- <shape>
- <gradientandroid:startColor="#8600ff"/>
- <strokeandroid:width="2dp"android:color="#000000"/>
- <cornersandroid:radius="5dp"/>
- <paddingandroid:left="10dp"android:top="10dp"
- android:bottom="10dp"android:right="10dp"/>
- </shape>
- </item>
- <itemandroid:state_focused="true">//定义当button获得focus时的形态
- <shape>
- <gradientandroid:startColor="#eac100"/>
- <strokeandroid:width="2dp"android:color="#333333"color="#ffffff"/>
- <cornersandroid:radius="8dp"/>
- <paddingandroid:left="10dp"android:top="10dp"
- android:bottom="10dp"android:right="10dp"/>
- </shape>
- </item>
- </selector>
[html]view plaincopy
- <Button
- android:id="@+id/btn_user_selected"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:background="@drawable/btn_frome1/>
- publicbooleanonTouch(Viewv,MotionEventevent){
- ButtonupStepBtn=(Button)v;
- if(event.getAction()==MotionEvent.ACTION_DOWN){
- upStepBtn.getBackground().setAlpha(255);//设置透明背景
- }elseif(event.getAction()==MotionEvent.ACTION_UP){
- upStepBtn.setBackgroundResource(R.drawable.R.drawable.bt_from1);
- finish();
- }
- returnfalse;
- }
- privateImageViewIB_1,IB_2;
- publicbooleanonTouch(Viewv,MotionEventevent){
- if(v==IB_1){
- if(event.getAction()==MotionEvent.ACTION_UP){
- IB_1.setBackgroundResource(R.drawable.bt_from1);
- }else{
- IB_1.getBackground().setAlpha(255);//设置透明背景
- }
- if(v==IB_2){
- if(event.getAction()==MotionEvent.ACTION_UP){
- IB_2.setBackgroundResource(R.drawable.bt_from2);
- }else{
- IB_2.getBackground().setAlpha(255);//
- }
- }
1、Button或者ImageButton的背景设为透明或者半透明①、半透明<Button android:background="#e0000000" ... />②、透明<Button android:background="#00000000" ... />理解:颜色和不透明度 (alpha) 值以十六进制表示法表示。任何一种颜色的值范围都是 0 到 255(00 到 ff)。对于 alpha,00 表示完全透明,ff 表示完全不透明。表达式顺序是“aabbggrr”,其中“aa=alpha”(00 到 ff);“bb=blue”(00 到 ff);“gg=green”(00 到 ff);“rr=red”(00 到 ff)。例如,如果您希望对某叠加层应用不透明度为 50% 的蓝色,则应指定以下值:7fff0000RGB设置背景图片透明度:View v = findViewById(R.id.content);//找到你要设透明背景的layout 的idv.getBackground().setAlpha(100);//0~255透明度值设置背景颜色透明度:ImageView.setBackgroundColor(Color.TRANSPARENT);
更多相关文章
- android点击按钮控制图片切换-kotlin
- 如何在XML设定android控件的颜色(十六进制颜色码)
- 选择框在右边的单选按钮。。
- android 动态设置background颜色
- android textview部分字体变颜色
- android : 圆角按钮 shape属性
- 使用多状态按钮ToggleButton
- android常用颜色
- android颜色管理