ssummeraw 2013-04-02 03:41 采纳率: 10%
浏览 7706
已采纳

设置背景图像使得按钮不能点击

我创建了一组按钮,当我给每个按钮设置背景图像时,就变成不可点击的了。为什么会这样呢?下面是我的代码:

LinearLayout layoutVertical = (LinearLayout) findViewById(R.id.liVLayout);
    LinearLayout rowLayout=null;
    Button[][] buttons = new Button[6][7]; 

    LayoutParams param = new LinearLayout.LayoutParams(
            LayoutParams.FILL_PARENT,
            LayoutParams.FILL_PARENT,1);

    for (int i = 0; i<6; i++) 
    {
       rowLayout = new LinearLayout(this);
       rowLayout.setWeightSum(7);
       layoutVertical.addView(rowLayout,param);
        for(int j=0;j<7;j++)
        {
            buttons[i][j]=new Button(this);
            buttons[i][j].setText("1");

            buttons[i][j].setBackgroundResource(R.drawable.but_blue_clicked);
            rowLayout.addView(buttons[i][j],param);
            buttons[i][j].setClickable(true);
        }
    }
}
  • 写回答

2条回答

  • 空蝉- 2013-04-02 06:17
    关注

    这个应该不是不能点,应该是你设置图片后覆盖了系统button的样式,如果有监听点击事件应该是有效的。
    如果你是需要一个按钮的样式可以自己写一个
    像这样

    but_clicked.xml
    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true" android:drawable="@drawable/play_press" />
        <item android:state_focused="true" android:drawable="@drawable/play_press" />
        <item android:drawable="@drawable/play" />
    </selector>
    

    然后 buttons[i][j].setBackgroundResource(R.drawable.but_clicked);

    不过你需要两张图片,分别是点击和未点击的图片

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛