Akh*_*ain 8 checkbox events android toast
首先,这不是完整的代码
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
Toast toast=Toast.makeText(getApplicationContext(), "", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER_HORIZONTAL, 0, 0);
View view=toast.getView();
switch(buttonView.getId())
{
case R.id.chkRed: if(chkRed.isChecked())
{
chkGreen.setChecked(false);
chkBlue.setChecked(false);
chkYellow.setChecked(false);
toast.setText("You Selected Red");
toast.setGravity(Gravity.NO_GRAVITY,buttonView.getRight(), chkRed.getTop());
//top does not align
//it align perfectly to right of checkbox
view.setBackgroundColor(Color.RED);
}
break;
}
}
Run Code Online (Sandbox Code Playgroud)
所以现在,问题是,我想在复选框旁边显示烤面包,我尝试使用setGravity(),但它只是没有进行操作并且已经被击中并尝试了很长时间,但没有进展
如何在复选框旁边显示吐司.
Akh*_*ain 10
好吧,我终于想出了如何在复选框或其他视图旁边烤面包片
1.您需要在视图的屏幕上获取位置
buttonView.getLocationOnScreen(location);
Run Code Online (Sandbox Code Playgroud)
有关更多参考,请参阅getLocationOnScreen(int [])
2.使用重力设置吐司
toast.setGravity(Gravity.TOP|Gravity.LEFT,buttonView.getRight()+5,
location[1]-10);
Run Code Online (Sandbox Code Playgroud)
这里重要的是x-coordinate向视图右侧设置吐司,例如,buttonView.getRight()从location[1]你得到的y坐标getLocationOnScreen()
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
Toast toast=Toast.makeText(getApplicationContext(), "", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0);
View view=toast.getView();
int location[]=new int[2];
buttonView.getLocationOnScreen(location);
switch(buttonView.getId())
{
case R.id.chkRed: if(chkRed.isChecked())
{
chkGreen.setChecked(false);
chkBlue.setChecked(false);
chkYellow.setChecked(false);
toast.setText("You Selected Red");
toast.setGravity(Gravity.TOP|Gravity.LEFT,buttonView.getRight()+5, location[1]-10);
view.setPadding(1, 1, 1, 1);
view.setBackgroundColor(Color.RED);
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3649 次 |
| 最近记录: |