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

开发者社区> 问答> 正文

android imagebutton背景图片设置

2016-06-20 11:34:09 2968 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如何将存储在SD卡的图片设置为布局背景图片

2016-03-12 08:49:26 2965浏览量 回答数 1

0

回答

调用Android SDK上传属性

2022-07-06 12:23:45 116浏览量 回答数 0

1

回答

android sdk怎么进行混淆配置?

2018-05-18 09:12:23 1514浏览量 回答数 1

1

回答

android sdk 23 是什么

2018-05-10 20:01:05 2910浏览量 回答数 1

1

回答

oss android sdk说明

2018-01-17 13:39:08 662浏览量 回答数 1

0

回答

Android SDK如何下载?

2017-10-24 14:50:22 1619浏览量 回答数 0

0

回答

Android SDK如何下载?

2017-10-24 10:28:21 2574浏览量 回答数 0

0

回答

Android SDK 3.0配置如何实现?(1)

2017-10-23 10:53:07 1505浏览量 回答数 0

1

回答

API网关 Android SDK哪里下载

2017-03-08 14:03:16 2160浏览量 回答数 1

1

回答

android图片旋转发生变形

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