0
ViewPager가 LinearLayout 안에 있습니다. 다음 조각 (오른쪽에서 왼쪽으로)으로 스 와이프하면 올바르게 작동하고, 어떤 장소에서나 화면을 터치 할 수 있으며 작동합니다.ViewPager : 왼쪽에서 오른쪽으로 스 와이프 할 때의 문제
내 XML :
나는 왼쪽에서 오른쪽으로 swipping, 이전 조각에 백업 할 때, 그것은 (그림에 노란색 영역) 화면 왼쪽에 좁은 부분에서만 작동 글고 치기와 텍스트 뷰와 내 조각에서<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/palette_bg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="1"
android:windowSoftInputMode="adjustPan">
<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.15"
android:windowSoftInputMode="adjustPan"
tools:context="com.internet_of_everything.chineesecards.MainActivity">
</android.support.v4.view.ViewPager>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="2dp"
android:layout_marginLeft="2dp"
android:layout_marginRight="2dp"
android:layout_marginTop="2dp"
android:layout_weight="0.85"
android:baselineAligned="false"
android:orientation="horizontal"
android:visibility="visible"
android:weightSum="1">
<ImageButton
android:id="@+id/button_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:background="?android:attr/windowBackground"
android:contentDescription="@android:string/untitled"
android:visibility="visible"
app:srcCompat="@drawable/button_back" />
<ImageButton
android:id="@+id/button_next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:adjustViewBounds="false"
android:background="?android:attr/windowBackground"
android:contentDescription="@android:string/untitled"
android:elevation="0dp"
android:visibility="visible"
app:srcCompat="@drawable/button_next" />
</LinearLayout>
</LinearLayout>
UPDATE 나는이 선형 레이아웃을 가지고있다. 같은 시간에 EditText 또는 TextView 만 표시 될 수 있습니다. 그리고 나는 onTouchListener를 가지고 있습니다 : EditText가 보여 질 때 키보드를 숨기고 사용자가이 edittext 바깥을 클릭 할 때 EditText의 내용을 검사합니다. 이 onTouchListener를 사용하여 왼쪽에서 오른쪽으로 스 와이프 할 때의 문제를 해결할 수 있습니까?
public class OneCardFragment extends Fragment {
public OneCardFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
rootView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
InputMethodManager imm = (InputMethodManager) getContext().getSystemService(INPUT_METHOD_SERVICE);
//hides keyboard
imm.hideSoftInputFromWindow(rootView.getWindowToken(), 0);
//checks edittext content
}
});
}
}
저는 ViewPager 문제가 아니라고 생각합니다. 두 번째 조각의 레이아웃을 확인하고 청취자를 클릭하십시오. 이전에 터치 이벤트를 사용하는 일부보기 일 수 있으며 스 와이프 제스처를 방지 할 수 있습니다. –
맞아, 내 조각에 onTouchListener가 있습니다. 내 질문에 대한 약간의 내용으로 업데이트했습니다. – Olga
메소드'boolean onTouch (View v, MotionEvent 이벤트)'의 내부에서'true '를 리턴합니까? yes이면'false'를 반환하고 다른 뷰는 이벤트를 처리 할 기회를 가질 수 있습니다. –