簡體   English   中英

當我在Android中釋放按鈕時,按鈕顏色不應更改

[英]Button color should not change when I release the button in Android

<item android:state_focused="true" > 
    <shape> 
        <gradient 
            android:endColor="#FF9900" 
            android:startColor="#FF9966" 
            android:angle="270" /> 
        <stroke 
            android:width="3dp" 
            android:color="#CCCCCC" /> 
        <corners 
            android:radius="3dp" /> 
        <padding 
            android:left="10dp" 
            android:top="10dp" 
            android:right="10dp" 
            android:bottom="10dp" /> 
    </shape> 
</item> 

   <item>         
    <shape> 
        <gradient 
            android:endColor="#FFFFFF" 
            android:startColor="#FFFFFF" 
            android:angle="270" /> 
        <stroke 
            android:width="1dp" 
            android:color="#666666" /> 
        <corners 
            android:radius="1dp" /> 
        <padding 
            android:left="3dp" 
            android:top="3dp" 
            android:right="3dp" 
            android:bottom="3dp" /> 
    </shape> 
</item> 

上面是我用黑色填充Button邊框的代碼,通過設置為background來使用3個按鈕的代碼,現在,當我單擊button1時,釋放時會出現紅色。 但是我希望紅色是可見的,直到按下下一步按鈕。 雖然按下后釋放Button1,但紅色應該是可見的。 但是,只有當我按下任何其他按鈕時,紅色才會消失。
誰能幫助我解決這個問題?
請有人幫我解決這個問題嗎?
提前致謝,

嘗試為android:state_selected添加一個狀態android:state_selected

恐怕您不能僅通過定義按鈕狀態的xml來完成目標。 因為AFAIK沒有狀態定義釋放按鈕后的行為(僅正常,集中和按下)。 應該是正常狀態。

但是,您可以執行以下操作:

  • 假設您原來的xml drawable是drawable A
  • 定義新的xml drawable B,其正常狀態定義為所需的紅色按鈕
  • 用戶按下按鈕后,它將變為紅色,因為可繪制的A表示
  • 當用戶釋放按鈕時,請確保通過更改繪制對象保持紅色

    myButton.setBackgroundDrawable(getResources()。getDrawable(R.drawable.B));

  • 當用戶按下另一個按鈕時,通過以下方式將其恢復為正常狀態

    myButton.setBackgroundDrawable(getResources()。getDrawable(R.drawable.A));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM