поэтому у меня есть пример: когда я касаюсь кнопки, все в порядке, как и ожидалось, но когда я касаюсь макета, его дочерний элемент становится неприкасаемым.Та же проблема, если у меня есть другое представление под этим макетом: когда я касаюсь кнопки, ее макет становится сплошным и блокирует ввод через него, как макет потребляет прикосновение или становится сфокусированным ... id:
code: main.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:clickable="false"
android:id="@+id/mainFrameLayout"
android:background="#55ff0000"
>
<ImageButton
android:layout_width="50dp"
android:layout_height="50dp"
android:text="below Frame"
android:id="@+id/mainButton1"
/>
<ViewFlipper
android:layout_width="fill_parent"
android:layout_height="200dp"
android:id="@+id/mainViewFlipper2"
android:background="#5500ff00"
android:clickable="false"
>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:clickable="false"
>
<ImageButton
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/mainButton2"
android:layout_gravity="center"
/>
</FrameLayout>
</ViewFlipper>
</FrameLayout>
MainActivity.java
package com.mycompany.myapp2;
import android.app.*;
import android.os.*;
import android.view.View.*;
import android.view.*;
import android.widget.*;
import android.widget.ActionMenuView.*;
public class MainActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViewById(R.id.mainButton1).setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v,MotionEvent e)
{
return false;
}
});
findViewById(R.id.mainButton2).setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v,MotionEvent e)
{
return false;
}
});
//not helped
/*findViewById(R.id.mainFrameLayout).setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v,MotionEvent e)
{
return false;
}
});*/
//not working either
//findViewById(R.id.mainFrameLayout).setOnTouchListener(null);
}
}
представьте себе, что у меня ViewFlipper с несколькими включениями FrameLayouts со сложным пользовательским интерфейсом, и когда я удерживаю 1 кнопку - SurfaceView за ViewFlipper становится неприкасаемым - это моя проблема