<LinearLayout
android:id="@+id/fragmentSelectorArea"
android:layout_width="fill_parent"
android:layout_height="@dimen/main_seletor_height"
android:layout_marginBottom="@dimen/main_seletor_margin_bottom"
android:background="@color/mainBtnBg" >
<ImageButton
android:id="@+id/myBtn"
android:layout_width="0dp"
android:layout_height="@dimen/main_btn_height"
android:layout_weight="1"
android:background="@drawable/btn_selector" />
</LinearyLayout>
<item android:state_pressed="true"
android:drawable="@drawable/pressed_btn" />
<item android:state_focused="true"
android:drawable="@drawable/focused_btn" />
<item android:drawable="@drawable/nonselected_btn"/>
ImageButton btn1 = (ImageButton) findViewById(R.id.myBtn);
OnClickListener btnListener = new OnClickListener() {
@Override
public void onClick(View btn) {
switch (btn.getId()) {
case R.id.myBtn:
mPager.setCurrentItem(0);
break;
...
default:
break;
}
}
};
btn1.setOnClickListener(btnListener);
我想点击按钮时使用效果。
但是,国家重点不起作用 所以我看不到集中效果。 请帮帮我..
添加图片。
答案 0 :(得分:2)
我解决了。
按钮选择器只有两种情况。 (按下,未按下)
我重写了ViewPagerIndicator中的onPageChangeListener()。
答案 1 :(得分:0)
state_focused
或dpad
,就会应用 trackball
。在使用触摸时,视图通常不显示焦点状态。
答案 2 :(得分:0)
您可以使用setonTouchListener在触摸ImageButton时创建效果,如...
myBtn.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN)
myBtn.setImageResource(R.drawable.quit_yes_selected);
else if(event.getAction() == MotionEvent.ACTION_UP)
myBtn.setImageResource(R.drawable.quit_yes);
return false;
}
});
或者您可以在drawable中创建一个btn_selector.xml文件并将其设置为ImageBackgroundResource,如
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- When selected, you should use bg with grey -->
<item android:drawable="@drawable/pressed_btn"
android:state_selected="true" />
<!-- When not selected, you should use bg with white -->
<item android:drawable="@drawable/nonselected_btn" />
</selector>
在java中,您必须将ImageButton后台资源指定为该文件
myBtn.setBackgroundResource(R.drawable.btn_selector);