gpt4 book ai didi

java - Android:触摸 ImageView 时停止滚动?

转载 作者:行者123 更新时间:2023-11-29 20:33:38 25 4
gpt4 key购买 nike

我尝试使旋转 ImageView 成为可能,但滚动妨碍了我。如何在触摸 ImageView 时停止滚动?我认为代码不是必需的,但这里是:fragment_main.xml

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<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"
tools:context=".MainActivityFragment"
android:background="@drawable/texture">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Πάγωσε η κόλαση..."
android:textColor="@color/label_color"
android:textSize="20dp"
android:id="@+id/label_0"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:paddingTop="25dp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Μπρρρ!"
android:textColor="@color/label_color"
android:textSize="20dp"
android:id="@+id/label_1"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Κρύο"
android:textColor="@color/label_color"
android:textSize="20dp"
android:id="@+id/label_2"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="75dp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Έτσι κ'έτσι..."
android:textColor="@color/label_color"
android:textSize="20dp"
android:id="@+id/label_3"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="100dp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Καλό"
android:textColor="@color/label_color"
android:textSize="20dp"
android:id="@+id/label_4"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="125dp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Πολύ καλό!"
android:textColor="@color/label_color"
android:textSize="20dp"
android:id="@+id/label_5"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="150dp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Κάνεις κοιλιακούς!"
android:textColor="@color/label_color"
android:textSize="20dp"
android:id="@+id/label_6"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="175dp" />

<ImageView
android:src="@drawable/thermostat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/thermostat"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/margin" />

<ImageView
android:src="@drawable/thermostat_slider"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/thermostat_slider"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/margin" />

<ImageView
android:src="@drawable/inside_thing"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/inside_thing"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/margin" />

<ImageView
android:src="@drawable/inside_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/inside_text"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/margin" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Τι κάνω?"
android:textColor="@color/label_color"
android:textStyle="bold"
android:id="@+id/title"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/title_margin"/>

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/text"
android:text="@string/help_text"
android:textColor="@color/label_color"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="750dp" />

</RelativeLayout>
</ScrollView>

最佳答案

您不能禁用 ScrollView 的滚动。您需要扩展到 ScrollView 并覆盖 onTouchEvent 方法以在某些条件匹配时返回 false。

public class LockableScrollView extends ScrollView {
private boolean mScrollable=true;
public LockableScrollView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
}

覆盖所需的方法和构造函数

@Override
public boolean onTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
// if we can scroll pass the event to the superclass
if (mScrollable) return super.onTouchEvent(ev); //return mScrollable condition is false

/*
*Write your code here to implement your functionality like if you image view is touched
*/
// only continue to handle the touch event if scrolling enabled
return mScrollable; // mScrollable is always false at this point
// mScrollable flag may help you
//use it as a condition
default:
return super.onTouchEvent(ev);
}
}




@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
// if we can scroll pass the event to the superclass
if (mScrollable) return super.onInterceptTouchEvent(ev);
// only continue to handle the touch event if scrolling enabled
return mScrollable; // mScrollable is always false at this point
default:
return super.onInterceptTouchEvent(ev);
}
}

关于java - Android:触摸 ImageView 时停止滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31652973/

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