我有一个要求,我需要实现竖起大拇指向下类型的切换按钮,我在这里努力去理解如何实现这一目标。 我不确定我是否可以创建一个样式,这个样式会改变图像的背景,这取决于按钮的按下方式....
任何人都可以分享一些想法吗?
此致 菲利普
更新
嘿伙计们 按照这里给出的想法,我实现了以下代码:tglBtnThumbsUp.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
tglBtnThumbsDown.setChecked(false);
tglBtnThumbsUp.setChecked(true);
}
});
tglBtnThumbsDown.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
tglBtnThumbsUp.setChecked(false);
tglBtnThumbsDown.setChecked(true);
}
});
它按照我想要的方式工作。 现在,试图在互联网上找到一个“竖起大拇指”和“竖起大拇指”的PSD文件,这样我就可以改变背景,因为我是一个非常非常糟糕的设计师,不能自己做
感谢大家!
答案 0 :(得分:2)
我使用刷新按钮和进度条执行类似操作。在xml中,我看到了刷新按钮,进度条可见性已消失
<ImageView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ivSync"
android:clickable="true"
android:src="@drawable/ic_menu_refresh_dark"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<ProgressBar
android:id="@+id/pbSync"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
android:clickable="true"
/>
然后,在代码中,我为每个创建OnClickListner事件并切换每个控件的可见性:
//Setup control listeners for Click events.
pbProgress.setOnClickListener(pbProgressBarClick);
ivSync.setOnClickListener(ivSyncClick);
private OnClickListener pbProgressBarClick = new OnClickListener(){
@Override
public void onClick(View v) {
//Make the Sync image visible.
ivSync.setVisibility(View.VISIBLE);
//Some other code here...
//Make the ProgressBar invisible.
pbProgress.setVisibility(View.GONE);
}
};
private OnClickListener ivSyncClick = new OnClickListener(){
@Override
public void onClick(View v) {
//Make the Sync image invisible.
ivSync.setVisibility(View.GONE);
//Some other code here...
//Make the ProgressBar visible.
pbProgress.setVisibility(View.VISIBLE);
}
};
希望它有所帮助!
答案 1 :(得分:2)
你的意思是并排两个切换按钮,用户打开其中一个,或者你是指一个向上或向下切换的按钮?
对于一个togglebutton,使用XML中的选择器,拇指和拇指的图片分别为state_checked =“true”或false。否则将两个不同的切换按钮并排放置,并使用OnCheckedChangeListener一次点亮或不点亮。
希望有道理。