最初に私のページのLayout
についてお伝えします。私のButton
はLinearLayout
の中にあります。私はButton
layout_height = "0dp"
のようにweightSum
を使用しています。Button Image DrawableLeftを変更すると、プログラムでアンドロイドで動作しない
これは私のButton
プロパティです。その中
<Button
android:id="@+id/imagebutton_shape_round"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="1dp"
android:layout_marginLeft="1dp"
android:layout_marginRight="1dp"
android:layout_weight="1.0"
android:background="@color/button_background"
android:gravity="center"
android:drawableLeft="@drawable/round"
android:paddingLeft="8dp"
android:paddingRight="8dp"
/>
私はOnclickListener
を設定し、それがBackGroundColor
などImage
です変更したい.Now round
ある名前Button
にImage
を設定しています。
Button imagebutton_shape_round = (Button) findViewById(R.id.imagebutton_shape_round);
imagebutton_shape_round.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
imagebutton_shape_round.setCompoundDrawables(getResources().getDrawable(R.drawable.white_round, getApplicationContext().getTheme()), null, null, null);
}
else {
imagebutton_shape_round.setCompoundDrawables(getResources().getDrawable(R.drawable.white_round), null, null, null);
}
imagebutton_shape_round.setBackgroundColor(ContextCompat.getColor(InventoryActivity.this,R.color.linearlayout_background));
}
});
あなたは私たちは、このコードを使用してdrawableLeft
を設定することができます見ることができるように。
Drawable img = getContext().getResources().getDrawable(R.drawable.smiley);
txtVw.setCompoundDrawablesWithIntrinsicBounds(img, null, null, null);
How to programmatically set drawableLeft on Android button?
しかし、私のコードgetDrawable
が表示deprecated
である理由else
一部。
私はIf condition
getResources().getDrawable(R.drawable.white_round, getApplicationContext().getTheme()), null, null, null))
に、なぜ私はこれを使用していますことを、このlink
を参照してくださいそれ以外の部分は
getResources().getDrawable(R.drawable.white_round), null, null, null);
アップデート機能しません。代わりにこの
を使用するをそれはIf else
条件
ContextCompat.getDrawable(InventoryActivity.this,R.drawable.white_round)
を削除するので、私はこれを使っ
私は二Image
iはImage
が変更されていない]をクリックしたときに表示手段ではありませんクリックすると、今だけの問題の一つは、
があります。
を動作するかどうかを確認すべきだと思います。これはうまくいきません。 – Ironman
私は自分の質問を参照して更新してください。 – Ironman