2016-09-06 1 views
0

사용자 정의 레이아웃으로 PreferenceFragment을 작성할 때 테두리 제거 방법.사용자 정의 레이아웃을 확장 할 때 PreferenceFragment의 테두리 제거

public static class CommsPreferenceFragment extends PreferenceFragment { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     addPreferencesFromResource(R.xml.pref_comms); 
     setHasOptionsMenu(true); 

    } 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

     View aux = inflater.inflate(R.layout.config_custom, null); 

     return view; 
    } 
} 

custom_layout.xmlbuttonlistviewConstraintLayout 포함 이 내 코드입니다.

사용자 지정 레이아웃의 배경색이 있습니다. 로드가 PreferenceFragment 인 경우 테두리가 흰색 인 배경이 자동으로 추가됩니다. 여기

내가 그것을 제거하기 위해 수행 할 수있는 API> (21)와 API < 21 enter image description here

와 함께 스크린 샷?

enter image description here

32 왼쪽과 오른쪽이 자동으로 추가됩니다의 패딩로 볼 수 있습니다 :

감사

는 여기에 또 다른 스크린 샷입니다. 부모 레이아웃을 강제로 어떻게 할 수 있습니까? 즉, FragmentPreferenceLayout은 0으로 패딩됩니까?

+0

, 난 뷰 그룹 컨테이너가 왜 mBorderLeft 및 mBorderRight = 48 ..... ¿이 보이지? 도와주세요. – daicon

답변

0

해결책을 찾았습니다. 누군가가 더 나은 사람이라면 나는 알고 싶습니다. 또한 이유를 모른 채 계속되었습니다.

여기

내 솔루션, PrefenceFragment에 코드를 추가 : 내가 디버깅 경우

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.config_custom, null); 
    } 

    @Override 
    public void onViewCreated(View view, Bundle savedInstanceState) { 
     super.onViewCreated(view, savedInstanceState); 
     View container_parent = (View)view.getParent(); 
     container_parent.setPadding(0,0,0,0); 
    } 
관련 문제