Android 如何用按钮改变图标
Android How to change icon with button
这是我的XML
<Button
android:id="@+id/w1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@color/buttons_background"
android:clickable="true"
android:drawableRight="@drawable/icon_more"
android:fontFamily="roboto medium"
android:paddingLeft="30dp"
android:paddingRight="30dp"
android:text="@string/w1_btn_more"
android:textColor="@color/text_color"
android:textSize="17sp" />
如何从 icon_more 更改为 icon_next。
一段代码Java
Button w1 = (Button) view.findViewById(R.id.w1);
w1.set("???");
使用这个
w1.setBackgroundResource(R.drawable.icon_next);
使用
w1.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.next, 0);
以编程方式更改 android:drawableRight
属性。 Here 文档
Drawable img = getContext().getResources().getDrawable( R.drawable.your_drwable);
img.setBounds( 0, 0, 60, 60 );
imgView.setCompoundDrawables( null, null, img, null );
既然你正在使用 drawableRight,你可能想使用这个
w1.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.icon_next, 0);
尝试使用 setCompoundDrawablesWithIntrinsicBounds
在 运行 时间设置相应的可绘制对象:
button.setCompoundDrawablesWithIntrinsicBounds(int left,int top,int right,int bottom);
你的情况:
button.setCompoundDrawablesWithIntrinsicBounds(0,0,R.drawable.icon_next,0);
试试这个
Drawable img = getContext().getResources().getDrawable( R.drawable.icon_next);
img.setBounds( 60, 60, 0, 0 );
txtVw.setCompoundDrawables( img, null, null, null );
试试这个:
w1.setBackgroundResource(R.drawable.icon_next);
这是我的XML
<Button
android:id="@+id/w1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@color/buttons_background"
android:clickable="true"
android:drawableRight="@drawable/icon_more"
android:fontFamily="roboto medium"
android:paddingLeft="30dp"
android:paddingRight="30dp"
android:text="@string/w1_btn_more"
android:textColor="@color/text_color"
android:textSize="17sp" />
如何从 icon_more 更改为 icon_next。
一段代码Java
Button w1 = (Button) view.findViewById(R.id.w1);
w1.set("???");
使用这个
w1.setBackgroundResource(R.drawable.icon_next);
使用
w1.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.next, 0);
以编程方式更改 android:drawableRight
属性。 Here 文档
Drawable img = getContext().getResources().getDrawable( R.drawable.your_drwable);
img.setBounds( 0, 0, 60, 60 );
imgView.setCompoundDrawables( null, null, img, null );
既然你正在使用 drawableRight,你可能想使用这个
w1.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.icon_next, 0);
尝试使用 setCompoundDrawablesWithIntrinsicBounds
在 运行 时间设置相应的可绘制对象:
button.setCompoundDrawablesWithIntrinsicBounds(int left,int top,int right,int bottom);
你的情况:
button.setCompoundDrawablesWithIntrinsicBounds(0,0,R.drawable.icon_next,0);
试试这个
Drawable img = getContext().getResources().getDrawable( R.drawable.icon_next);
img.setBounds( 60, 60, 0, 0 ); txtVw.setCompoundDrawables( img, null, null, null );
试试这个:
w1.setBackgroundResource(R.drawable.icon_next);