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 我想在一个软件里添加一个优惠弹窗,应该怎么写代码
  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流