내 활동에 WebView가 화면 가장자리에 닿을 수 있도록 0 패딩이 있어야하는 WebView 조각이 먼저 표시됩니다. 그런 다음 스크롤 막대가 가장자리에 있지만 내용은 채워 지도록 ScrollView 조각 (액티비티가 아닌) 안에 12dp 패딩이 있어야하는 ScrollView 조각으로 전환됩니다. 그러나 ScrollView Fragment가 2- 창 활동 레이아웃의 일부인 경우 왼쪽 면만 패딩해야합니다.조각 전환시 조각에 조건부로 패딩 적용
0
A
답변
0
내가 활동에서 인수로 패딩을 보내 그것을 해결합니다. 존재하는 경우, 인수는 Fragment의 기본 패딩보다 우선합니다.
@Override
public View onCreateView(final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.fragment_register, container, false);
if (this.getArguments() != null) {
view.setPadding(this.getArguments()
.getInt(ARG_PADDING_LEFT, view.getPaddingLeft()), view.getPaddingTop(), this.getArguments()
.getInt(ARG_PADDING_RIGHT, view.getPaddingRight()), view.getPaddingBottom());
}
return view;
}
0
당신이 시도 할 수 :
@Override
public void onStart() {
super.onStart();
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
//modify the padding
}
}
편집 :
의 우리가, 당신은 것이 코드, 세부 사항을 표시하는 항목의 목록을 보여주는 첫번째 조각, 초 단편 있다고 가정 해 봅시다 DetailsFragment 인스턴스가 있으면 재사용 할 수 있습니다.
public boolean multiPane() {
return getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if(multiPane()) {
DetailsFragment details = (DetailsFragment)getSupportFragmentManager().findFragmentByTag("DETAILS_FRAGMENT");
if (details != null) {
getSupportFragmentManager().popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
getSupportFragmentManager().beginTransaction().remove(details).commit();
getSupportFragmentManager().executePendingTransactions();
getSupportFragmentManager().beginTransaction().replace(R.id.multi_details, details, "DETAILS_FRAGMENT").commit();
} else {
//create and show a default details fragment(e.g. the first itme on the list idk)
}
} else {
MyListFragment lf = new MyListFragment();
getSupportFragmentManager().beginTransaction().replace(R.id.list_and_details, lf, "LIST_FRAGMENT").commit();
}
}
코드의이 부분은 또 다른 (프리 XML) 한 FrameLayout이 용기 (세로 XML)에서 DetailsFragment를 변경할 때 예외를 피하기 위해 사용된다.
getSupportFragmentManager().popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
getSupportFragmentManager().beginTransaction().remove(details).commit();
getSupportFragmentManager().executePendingTransactions();
는 예외입니다 :
...java.lang.IllegalStateException: Can't change container ID of fragment DetailsFragment...
그것은 매우 기본적인 예를
관련 문제
- 1. 활동 전환시 조각 저장
- 2. 조각에 조각 관리자가 없습니다.
- 3. 로더 조각에 - 조각 누출됩니까? .
- 4. 기존 조각에 조각 오버레이
- 5. 조각 전환시 진행 대화 상자가 표시됩니다.
- 6. 조각 사이의 전환시 드로잉이 제거됩니다.
- 7. 방향 전환시 조각 + ViewPager가 실패합니다.
- 8. 조각에 Google지도 지원 조각 사용
- 9. android의 다른 조각에 따른 조각
- 10. 조건부로 봄에 인터셉터 적용
- 11. 방향 전환시 작업 모음 탭 조각
- 12. CSS 재설정 후 패딩 적용
- 13. 사용자 정의 버튼에 패딩 적용
- 14. 어댑터의 첫 번째보기에만 패딩 적용
- 15. SupportMap 다른 조각에 중첩 된 조각
- 16. 첫번째 조각에 조각 작업하는 동안 활동
- 17. 시작 조각 활동은 null을 반환 - getactivity의 조각에
- 18. django 조건부로 스타일 클래스 적용
- 19. wpf 패딩 속성 wpf - 오른쪽 패딩에만 적용
- 20. GridView 이미지 배율이 조각 전환시 앱 속도가 느려짐
- 21. state_machine 전환시 유효성 검사
- 22. SQL 쿼리에 조건부로 WHERE 절 적용
- 23. C# - 속성을 메서드에 조건부로 적용 app.config
- 24. 조건부로 여러 정규식에 입력을 적용 하시겠습니까?
- 25. ng-repeat를 사용하여 조건부로 필터 적용
- 26. 는 조각 중급 (II) : 조각에 Dynmically 추가 행, 안드로이드
- 27. 조각에 다른 조각이있는 조각 문제가 있습니다. 조각을 바꾸려면 어떻게해야합니까?
- 28. 백 슬립 조각에
- 29. 조각 탭으로 안드로이드에 모델보기 프리젠터 패턴 적용
- 30. 조각에 정보를 동적으로 추가
조각은 컨테이너를 인식 할 수 없습니다. – Monstieur
내 응답을 편집했습니다. – ILovemyPoncho
화면을 회전 할 때 패딩이 어떻게 변경되고 작업 스위치가 2 분할 창 레이아웃으로 바뀝니 까? 동일한 Fragment를 두 번 인스턴스화하지 않겠습니까? – Monstieur