Hello im trying to use OnTouchListener.
My problem is that it doest seems to work.
I dotn get any logs called.
This is my code:
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.check);
comenntsBigLayout = (RelativeLayout) findViewById(R.id.comenntsBigLayout);
sendComment = (Button) findViewById(R.id.sendComment);
commentsLayout = (LinearLayout) findViewById(R.id.commentsLayout);
enterComment = (EditText) findViewById(R.id.enterComment);
imagesGrid = (GridView) findViewById(R.id.imagesGrid);
mainLayout = (RelativeLayout) findViewById(R.id.mainLayout);
mainLayout.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
Log.i("test", "test");
if(event.getAction() == MotionEvent.ACTION_UP)
{
Log.i("test", "test1");
comenntsBigLayout.setVisibility(View.VISIBLE);
imagesGrid.setVisibility(View.GONE);
}
else if(event.getAction() == MotionEvent.ACTION_DOWN)
{
Log.i("test", "test2");
comenntsBigLayout.setVisibility(View.GONE);
imagesGrid.setVisibility(View.VISIBLE);
}
return true;
}
});
}
My XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<GridView
android:id="@+id/imagesGrid"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:numColumns="3" >
</GridView>
<RelativeLayout
android:id="@+id/comenntsBigLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/sendComment"
android:layout_marginBottom="30sp"
android:layout_marginLeft="15sp"
android:layout_marginRight="15sp"
android:layout_marginTop="15sp"
android:background="@color/Beige" >
<LinearLayout
android:id="@+id/commentsLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/sendComment"
android:background="@color/Beige"
android:orientation="vertical" >
</LinearLayout>
</ScrollView>
<EditText
android:id="@+id/enterComment"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="10sp"
android:layout_marginLeft="5sp"
android:layout_toLeftOf="@id/sendComment"
android:hint="Write something..."
android:textColorHint="@color/black" />
<Button
android:id="@+id/sendComment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="Send"
android:textColor="@color/black" />
</RelativeLayout>
</RelativeLayout>
您的其他UI元素位于您要尝试使用触摸的相对布局的顶部,将OnTouchListeneter移至其他视图。
try this,
mainLayout.setOnTouchListener(new View.OnTouchListener()
{
// Implementation;
});
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.