android imagebutton背景图片设置 -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

android imagebutton背景图片设置

2016-06-20 11:34:09 3015 1

gridview的布局xml有3个imagebutton,属性android:src="@drawable/on",(用background背景图片变形了,只能用src),点击后图像重叠并且变形了,怎么办?

voice.xml

 <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="false"
        android:drawable="@drawable/voice_on_unpress" /> <!-- pressed -->
    <item android:state_pressed="true"
        android:drawable="@drawable/voice_on_do" /> <!-- default -->
    <item android:state_pressed="true"
        android:drawable="@drawable/voice_on_do" /> <!-- default -->
    <item
        android:drawable="@drawable/voice_on_unpress" />
</selector>


voice_press.xml
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="false"
        android:drawable="@drawable/voice_on_press" /> <!-- pressed -->
    <item android:state_pressed="true"
        android:drawable="@drawable/voice_on_do" /> <!-- default -->
    <item android:state_pressed="true"
        android:drawable="@drawable/voice_on_do" /> <!-- default -->
    <item
        android:drawable="@drawable/voice_on_press" />
</selector>

activity.java中

 search_voice.setOnClickListener(new View.OnClickListener() {
                    public void onClick(View arg0) {
                           if(flag){
                              Toast.makeText(getApplicationContext(), "语音开启",Toast.LENGTH_SHORT).show();
                              search_voice.setBackgroundResource(R.drawable.vocie_press);
                              flag = false;
                           }
                           else{
                               Toast.makeText(getApplicationContext(), "语音屏蔽",Toast.LENGTH_SHORT).show();
                              search_voice.setBackgroundResource(R.drawable.vocie);
                              flag = true;
                           }

                    }
                });
取消 提交回答
全部回答(1)
  • 爵霸
    2019-07-17 19:43:58

    图形变形是你image设置的scaletype引起,这涉及到图片剪裁的问题。如果图片四周是对称可伸缩,用9patch处理一下图片。

     <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="false"
            android:drawable="@drawable/voice_on_unpress" /> <!-- pressed -->
        <item android:state_pressed="true"
            android:drawable="@drawable/voice_on_do" /> <!-- default -->
    </selector>
    0 0
相关问答

1

回答

用户反馈Android SDK:打开Activity慢,如何解决?

2020-03-27 21:21:34 437浏览量 回答数 1

1

回答

用户反馈Android SDK:修改返回的图标,如何解决?

2020-03-27 21:23:51 447浏览量 回答数 1

1

回答

用户反馈Android SDK:无法打开反馈界面,如何解决?

2020-03-27 21:24:46 428浏览量 回答数 1

1

回答

用户反馈Android SDK:收到新的反馈消息后,是否有 Push 提醒功能?

2020-03-27 21:24:57 345浏览量 回答数 1

1

回答

用户反馈Android SDK:编译时ut和app-monitor发生冲突,如何解决?

2020-03-27 21:28:00 399浏览量 回答数 1

1

回答

用户反馈Android SDK:utdid冲突,如何解决?

2020-03-27 21:29:22 478浏览量 回答数 1

1

回答

用户反馈Android SDK:manifest merg error,如何解决?

2020-03-27 21:30:41 424浏览量 回答数 1

1

回答

用户反馈Android SDK:点击“我要反馈”,“常见问题”没有反应,如何解决?

2020-03-27 21:31:03 384浏览量 回答数 1

1

回答

用户反馈Android SDK:eclipse开发,FBFileProvider里面${applic

2020-03-27 21:31:13 372浏览量 回答数 1

1

回答

用户反馈Android SDK:找不到alicloud-android-feedback.aar,如

2020-03-27 21:32:17 483浏览量 回答数 1
+关注
2
文章
9426
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载