- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我通过使用 setOnTouchListener 向上滑动和向下滑动布局(为了理解请参见下图)
图片
但我想在单击按钮时向上滑动和向下滑动布局,而不是在 OnTouchListener 时。为此,我尝试了几乎所有在线示例,但没有根据我的要求获得任何解决方案。所以,请帮我在点击按钮时制作 OnTouchListener 事件
Activity
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.RelativeLayout;
public class SwipeUpActivity extends Activity {
RelativeLayout rlSwipeHolder, rlSwipe1, rlSwipe2;
private float startY;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_swipe_up);
rlSwipeHolder = (RelativeLayout) findViewById(R.id.rl_swipe_up_holder);
rlSwipe1 = (RelativeLayout) findViewById(R.id.rl_swipe_up_1);
rlSwipe2 = (RelativeLayout) findViewById(R.id.rl_swipe_up_2);
rlSwipe2.setVisibility(View.GONE);
rlSwipeHolder.setOnTouchListener(new OnTouchListener() {
@SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
startY = event.getY();
break;
case MotionEvent.ACTION_UP: {
float endY = event.getY();
if (endY < startY) {
System.out.println("Move UP");
rlSwipeHolder.setVisibility(View.VISIBLE);
rlSwipe1.setVisibility(View.VISIBLE);
rlSwipe2.setVisibility(View.VISIBLE);
} else {
rlSwipeHolder.setVisibility(View.VISIBLE);
rlSwipe1.setVisibility(View.VISIBLE);
rlSwipe2.setVisibility(View.GONE);
}
}
}
return true;
}
});
}
}
布局
<RelativeLayout 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="#FFFFFF"
tools:context="com.app.swipeup.SwipeUpActivity" >
<RelativeLayout
android:id="@+id/rl_swipe_up_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="#0000FF"
android:padding="5dp" >
<RelativeLayout
android:id="@+id/rl_swipe_up_1"
android:layout_width="match_parent"
android:layout_height="30dp"
android:background="#585858" >
</RelativeLayout>
<RelativeLayout
android:id="@+id/rl_swipe_up_2"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_below="@+id/rl_swipe_up_1"
android:background="#FE2E2E" >
</RelativeLayout>
</RelativeLayout>
</RelativeLayout>
编辑
像这样video单击按钮时,我必须打开布局并关闭布局(或向上滑动布局并向下滑动布局)
最佳答案
创建您的 onTouchListenr 对象。
OnTouchListener ot = new OnTouchListener(){-------- YOUR CODE ---}
点击启用按钮
rlSwipeHolder.setOnTouchListener(ot);
点击禁用按钮
rlSwipeHolder.setOnTouchListener(null);
关于Android:setOnClickListener 之后的 setOnTouchListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36906191/
对于同一个问题,我看了一些不同的回答,所以我不知道哪个是对的,然后我决定再问一遍。请尽量不要引用此答案中的任何其他链接。如果您想这样做,我会期待一些额外的解释。 我的问题是:我在 ViewPager
我想设置一个仅在玩家对象被触摸时发生的触摸事件。但为什么我的播放器类仍然无法使用 setOnTouchListener 方法?我把它放在一个扩展 SurfaceView 并实现 SurfaceHold
我已经在我的游戏中添加了一个计时器,但是这样做我总是收到错误“ View 类型中的方法 setOnTouchListener(View.OnTouchListener) 不适用于参数 (scene5.
我有一个 ViewPager 组件,在 fragment 内部有一个 WebView 组件,我想检测用户在屏幕上的点击,同时用户也可以滑动。 目前我在 ViewPager 上设置 onTouchLis
我正在将我的 ViewPager 迁移到新的 ViewPager2。不幸的是,对于这个新类(class),setOnTouchListener永远不会被调用。 mViewPager.setOnTouc
我正在尝试使用 setontouchlistener。如果我按住图像按钮 5 秒钟,我会收到警报...这就是我要做的事情: final ImageButton imageButton1 = (
我正在循环中创建 OnTouchListener: for(int i = 0; i < buttons.length; i++){ for(int j = 0; j < button
我在这个motion event 中使用 imageview on touch listener 不工作为什么会发生这种情况任何人对此有帮助我。 这是我的代码 img_View11.setOnT
我正在编写我的第一个 Android 应用程序(我对 Java 并不陌生)。这是我的问题:我使用 ImageView 来显示图形。我想编写一个方法,当 ImageView 被触摸时调用并获取触摸坐标作
我有这个 XML 代码:
我想实现一个覆盖所有 onTouchListener 的通用系统在 viewGroup 上并稍后恢复它们。 我想用 map 来存储每个 View 的原始监听器,但我没有找到任何方法获取当前分配的监听器
我试图实现一个 daragble 相对布局。所以我实现了这段代码:- body.setOnTouchListener(new OnTouchListener() { @Over
目标:我有一个自定义按钮,它已经包含我想保留的 onTouch 功能,但要在其之上添加功能。 问题:像这样添加一个 onTouch 会覆盖原来的自定义按钮功能,因此不再执行原来需要的行为。有或没有注释
我在 android 中实现 listview。我希望在按下 listview 项目时增加 listview 行的 layout_width 和 height。我正在使用 zoom_in 动画来缩放我
我通过使用 setOnTouchListener 向上滑动和向下滑动布局(为了理解请参见下图) 图片 但我想在单击按钮时向上滑动和向下滑动布局,而不是在 OnTouchListener 时。为此,我尝
为什么setOnTouchListener之后的命令不起作用? 例如: public class MainActivity extends AppCompatActivity implements V
我有一个带有适配器的recyclerview,一切都很酷。我添加了 view.setOnTouchListener,以便我可以在 1 个屏幕上从左到右滚动此 recyclerview 以及动画和其他元
为什么我的程序中不能使用setOnClickListener和setOnTouchListener?OnTouchListener 运行良好,但我无法运行新 Activity ?我做错了什么? for
我正在尝试将 onTouchListener 添加到 ImageView,以便我可以获得用户从他们拍摄的图像中选择的像素值。因此,我在主 Activity 中实现了 onTouchListener,并
我喜欢向右、向左滑动来切换 Activity 的布局。但是切换布局后,一旦 setOnTouchListener 停止工作。我有什么错? 我的 Activity : import androidx.a
我是一名优秀的程序员,十分优秀!