這是我的Layout xml文件。GestureListener不能使用android:autoLink =「email」
...
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/rlt" >
<TextView
android:id="@+id/title_text"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:textSize="22dp"
android:layout_centerHorizontal="true"
android:textColor ="#add8e6"
/>
<TextView
android:id="@+id/description"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/tatle_text"
android:layout_marginTop="45dp"
android:textColor = "#e3e4fa"
android:autoLink="email"
android:textColorLink="#fdd017"
/>
...
...
...
...
這是我onFling()
:
SimpleOnGestureListener simpleOnGestureListener
= new SimpleOnGestureListener(){
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
// TODO Auto-generated method stub
final float xDistance = Math.abs(e1.getX() - e2.getX());
final float yDistance = Math.abs(e1.getY() - e2.getY());
if(xDistance > gs.swipe_Max_Distance || yDistance > gs.swipe_Max_Distance)
return false;
Log.v("Help_developers", "Flinging baby!");
velocityX = Math.abs(velocityX);
velocityY = Math.abs(velocityY);
boolean result = false;
if(velocityX > gs.swipe_Min_Velocity && xDistance > gs.swipe_Min_Distance){
if(e1.getX() > e2.getX()) // right to left
{ //Slide to Help_app
Intent i=new Intent(Help_developers.this,Help_app.class);
startActivity(i);
finish();
}
else
{
//Slide to Help_qanda
Intent i=new Intent(Help_developers.this,Help_pending.class);
startActivity(i);
finish();
}
result = true;
}
return result;
}
});
final GestureDetector gestureDetector
= new GestureDetector(simpleOnGestureListener);
rlt.setOnTouchListener(new View.OnTouchListener()
{
public boolean onTouch(View view, MotionEvent event) {
Log.d("test", "clicked!");
if(gestureDetector.onTouchEvent(event)) {
Log.d("test", "gesture detected");
return true;
}
return false;
}
});
RLT是RelativeLayout的rlt
的ID。
現在在onFling()中的投擲不能在屬性android:autoLink =「email」中使用,文本視圖中編號爲description
。但是,當我刪除該屬性時,該投擲效果。我不知道爲什麼會發生這種情況。那個屬性如何影響這個投擲手勢?
EDIT
的GestureListener
本身的onTouch()不被調用。日誌從不記錄在logcat中。當屬性android:autoLink =「email」存在時。
佈局完整的XML文件:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/rlt" >
<TextView
android:id="@+id/title_text"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:textSize="22dp"
android:layout_centerHorizontal="true"
android:textColor ="#ffffff"
/>
<TextView
android:id="@+id/description"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tatle_text"
android:layout_marginTop="45dp"
android:textColor = "#e3e4fa"
android:autoLink="email"
android:textColorLink="#fdd017"
android:
/>
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/rlt_touch" />
<Button
android:id="@+id/Home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="@drawable/home"
android:text="Home"
/>
</RelativeLayout>
</ScrollView>
嘗試了你的第二個方法。不起作用。仍然沒有檢測到觸摸。我不明白第一種方法。我剛剛粘貼了該代碼。它表示setMovemntMethod()未定義爲relativeLayout。 – Ashwin
我的壞,不知何故,我的印象是'rlt'指的是TextView而不是RelativeLayout。讓我修改我的答案:) – Joe
答覆修改後,我認爲您需要兩項更改才能生效。 – Joe