2011-12-27 15 views
7

私は同じ背景画像を共有する3つのボタンがありますが、アルファを使用してそのうちの1つのボタンを無効にしたいと思います。アルファをアンドロイドに設定する方法

が、私は次のコードを使用していたとき:

button1.getBackground().setAlpha(45); 

それはすべての3つのボタンの背景を変更しています。しかし、私は1つしか必要ありません。 Alpha()で使用するとできますか?ボタンを無効モードで表示するために使用できるその他のもの

+0

をアルファを設定することができます各ボタンには異なるIDがありますか? – Lumis

+0

こんにちはルミス、応答のおかげで、私はチェックした、各ボタンは、独自のIDを持っています。 – Himanshu

+0

uのコードを投稿することができます.. –

答えて

19

あなたは確信しています、ただ、チェックするために任意のビューにAlphaAnimationを使用して

サンプルコード

Button btn = (Button) findViewById(R.id.button); 
float alpha = 0.45f; 
AlphaAnimation alphaUp = new AlphaAnimation(alpha, alpha); 
alphaUp.setFillAfter(true); 
btn.startAnimation(alphaUp); 
+0

これは、ユーザーがデバイス上でアニメーションを無効にしたときには機能しません。 – Denny

1
Button btn; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    btn = (Button) findViewById(R.id.main_btn); 
    Drawable d = getResources().getDrawable(R.drawable.imagen); 
    d.setAlpha(60); 
    btn.setBackgroundDrawable(d); 
} 
+0

'd.setAlpha(60);' APIレベルが必要11+ – astuter

4
nextBtn.getBackground().setAlpha(100); 

または

nextBtn.setAlpha(0.5f); 
+0

注、nextBtn.setAlpha(0.5f); setAlpha(int)はAPIレベル1以降で使用されていますが、レベル16以降では非推奨です。setAlpha(float)は引き続き動作します。これを考慮してください:http://stackoverflow.com/questions/21831775/difference-between-setalpha-and-setimagealpha – Brian

関連する問題