当触摸按钮(按下)时,我希望我的图像按钮显示不同的图像。为此,我通常使用选择器,但这次它只加载" btnnormal"图像但不是" btnselected"按下按钮时的图像。按钮是一个片段,我认为这会以某种方式导致这个问题。这段代码通常在正常活动下完美无缺。
这是我的res / drawable / buttonone.xml中的xml文件,带有选择器:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" android:exitFadeDuration="@android:integer/config_mediumAnimTime">
<item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/btnselected" />
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/btnselected" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/btnselected" />
<item android:drawable="@drawable/btnnormal" />
</selector>
这是res / layout / fragment_layout.xml中的布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background1"
android:orientation="vertical"
android:scrollbars="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="74dp"
android:background="@drawable/bg"
android:orientation="horizontal"
android:paddingTop="10dp">
<ImageButton
android:id="@+id/btnOne"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/buttonone" /> //here is the reference to the selector
</LinearLayout>
</LinearLayout>
这是java / StartFragment.java中的java文件:
public class StartFragment extends Fragment implements OnClickListener {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View fraglayoutv = inflater.inflate(R.layout.fragment_layout, null);
btnOne = (ImageButton) fraglayoutv.findViewById(R.id.btnOne);
btnOne.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//here is what happens when the button is clicked
}
});
}
}
有没有人知道为什么&#34; btnselected&#34;按下按钮时图像是否显示?
非常感谢提前。
答案 0 :(得分:0)
尝试在ImageButton中设置
android:clickable="true"