我在应用程序中有一个按钮调用某个功能,在此之前,系统会检查该特定功能是否可用,如果没有,它将实现以下内容:
XML:
<Button
android:id="@+id/button_speak"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="2dp"
android:layout_marginRight="1dp"
android:layout_weight="1"
android:background="@drawable/purple_btn"
android:drawableTop="@drawable/icon_headphones_btn"
android:gravity="center"
android:padding="15dp"
android:text="Listen!"
android:textColor="@color/black"
android:textSize="20dp"
android:textStyle="bold" />
代码:
speakBtn.setEnabled(false);
speakBtn.setText("Speak NOT\nSUPPORTED");
speakBtn.setBackgroundResource(R.drawable.grey_btn);
speakBtn.setTextSize(12);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
params.weight = 1;
speakBtn.setLayoutParams(params);
speakBtn.setGravity(Gravity.CENTER);
外表:
按钮:启用
按钮:禁用(措辞应该是不支持听...)
问题:
一旦按钮被禁用,按钮的背景通过使用更改.setBakgroundResource
,然后按钮可以更改其背景资源,但图标会上升!
如何将图标设置为保持在原来的位置,而仅更改按钮上的背景和文本?(至少图标不会上升到按钮的顶部)
谢谢!