애플 컴퓨터에 푹 빠진 일

4602 단어 Android
※ 인용: http://blog.384ta.com/appcompatcheckbox
안드로이드 서포트 리브레리 22.1이 등장하면서 AppCompatFooBar 시리즈도 충실해졌다.안드로이드 4.4 이하에서도 머티리얼 디자인 레이크의 UI 부품을 사용할 수 있어 디자인의 통일감을 높일 수 있을 것 같습니다.
저는 AppCompot 시리즈 중 하나인 AppCompoatCheckBox에 빠졌을 때 빠져서 공유하고 싶었어요.체크박스뿐만 아니라 앱컴포아트폴바의 모든 이야기다. 체크박스를 만지다 마주친 일이기 때문이다.

AppCompoteCheckBox가 렌더링되지 않았습니다.


체크박스를 사용해 UI를 조립한 곳은 AppCompoatCheckBox로 대체했으며, 한번 구축해보면 체크박스가 렌더링되지 않고 처음 걸려 넘어진 곳이다.

하고 싶은 일
  • support-v7의AlertDialog에ListView
  • 를 올리고 싶어요.
  • ListView의 행별로 사용할 View에 AppCompoatCheckBox
  • 를 설치하고 싶습니다.
    그렇습니다.위의 캡처를 보면 알 수 있듯이 각 줄 오른쪽에 있어야 할 AppCompoatCheckBox는 표시되지 않았다.
    또한 이 예에서 AppCompoatTextView의 텍스트 색도 상당히 옅은 색이지만 걸려 넘어진 환경에서 XML에 textColor를 적용하는 것도 문제의 특정한 시간이 걸리는 원인이다.
    ※ AppCompoatTextView/AppCompoatCheckBox 적용android:theme="@style/AppTheme".

    LayoutInflater 사용 방법


    Dialog의 표현은 support-v4를 사용하는 DialogFragment를 나타냅니다.DialogFragment의 onCreateDialog에서 ListView inflate를 위해 사용하는 Layout Inflater
    Context context = getActivity().getApplicationContext();
    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    
    Context#getSystemService 방법을 통해 얻다.이거 Layout Inflater.
    LayoutInflater inflater = LayoutInflater.from(getActivity());
    
    그리고 ListView의 사용자 정의 어댑터 구조기에 inflater를 건네 보았습니다.
    // 抜粋
    public static class MyAdapter extends ArrayAdapter<MyData> {
        private int mResource;
        private LayoutInflater mInflater;
        public MyAdapter(Context context, int resource, List<MyData> objects, LayoutInflater inflater) {
            super(context, resource, objects);
            mResource = resource;
            mInflater = inflater;
        }
    
    결실

    테마가 실제적으로 적용되고 표시됩니다.지금까지 Layout Inflater가 특별한 이유Context#getSystemService가 없었다면 그 재앙에 반했을 것이다.열심히 공부하지 않음 ('A')
    애플 컴퓨터 시리즈를 사용해서 같은 문제에 부딪힌 사람을 도울 수 있다면 정말 좋겠다.

    좋은 웹페이지 즐겨찾기