gpt4 book ai didi

android - 如何禁用Android评级栏中的拖动功能

转载 作者:搜寻专家 更新时间:2023-11-01 08:38:33 24 4
gpt4 key购买 nike

我正在做一个应用程序,我的要求是评级栏应该始终有触摸事件来给出评级,但它不应该有拖动功能来给出评级那么有什么办法,如何在 Android 评级栏中禁用拖动功能。

最佳答案

要禁用拖动功能,请在 RatingBar 上实现 onMotionEvent() 监听器。然后,获取 ACTION_DOWN 的 x 坐标并与 ACTION_UP 的 x 坐标进行比较。如果差异很大(发生拖拽),则返回true处理该事件;否则返回 false。

例子:

RatingBar bar = (RatingBar) findViewById(R.id.rating_bar);
bar.setOnTouchListener(new View.OnTouchListener()
{
private float downXValue;

@Override
public boolean onTouch(View v, MotionEvent event)
{
if (event.getAction() == MotionEvent.ACTION_DOWN)
{
downXValue = event.getX();
return false;
}

if(event.getAction() == MotionEvent.ACTION_MOVE)
{
// When true is returned, view will not handle this event.
return true;
}

if(event.getAction() == MotionEvent.ACTION_UP)
{
float currentX = event.getX();
float difference = 0;
// Swipe on left side
if(currentX < downXValue)
difference = downXValue - currentX;
// Swipe on right side
else if(currentX > downXValue)
difference = currentX - downXValue;

if(difference < 10 )
return false;

return true;
}
return false;
}
});

关于android - 如何禁用Android评级栏中的拖动功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34542538/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com