Android 더 많은 항목 수축 전개 컨트롤 ExpandView 의 예제 코드

안 드 로 이 드 개발 에 서 는 목록 컨트롤 을 자주 사용 합 니 다.때로는 목록 컨트롤 항목 에 여러 항목 의 데이터 가 있 을 때 도 있 습 니 다.이 럴 때 는 각 항목 의 데이터 가 얼마 인지 확인 할 수 없습니다.미관 을 위해 서 는 항목 이 높이 를 통일 하고 다 중 데이터 항목 이 접 히 고 펼 쳐 지 기 를 바 랍 니 다.오늘 은 이러한 사용자 정의 컨트롤 ExpandView 을 소개 합 니 다.
효과 시범 도

시범 도

Android Studio 통합 방식

dependencies{
   compile 'com.wkp:ExpandView:1.0.4'
   //Android Studio3.0+      
   //implementation 'com.wkp:ExpandView:1.0.4'
}
사용 설명
1.속성 설명

<!--     -->
    <attr name="wkp_column" format="integer"/>
    <!--      -->
    <attr name="wkp_rowMin" format="integer"/>
    <!--    -->
    <attr name="wkp_space" format="dimension"/>
    <!--      ,0    -->
    <attr name="wkp_itemDuration" format="integer"/>
    <!--    -->
    <attr name="wkp_itemHeight" format="dimension"/>
    <!--“  ”    -->
    <attr name="wkp_moreButtonImg" format="reference"/>
    <!--“  ”    -->
    <attr name="wkp_moreButtonText" format="string"/>
    <!--             -->
    <attr name="wkp_textBgColor" format="color"/>
    <!--              -->
    <attr name="wkp_textColor" format="color"/>
    <!--            -->
    <attr name="wkp_textSize" format="dimension"/>
    <!--             -->
    <attr name="wkp_textBgRes" format="reference"/>
2.레이아웃 예시
그림 1 레이아웃

  <com.wkp.expandview_lib.view.ExpandView
    app:wkp_textSize="@dimen/size_16sp"
    app:wkp_column="3"
    app:wkp_rowMin="3"
    app:wkp_itemHeight="120dp"
    app:wkp_textBgRes="@drawable/text_bg"
    android:id="@+id/ev"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

  </com.wkp.expandview_lib.view.ExpandView>
 그림 2 레이아웃

  <com.wkp.expandview_lib.view.ExpandView
    app:wkp_textSize="@dimen/size_16sp"
    app:wkp_column="4"
    app:wkp_rowMin="2"
    app:wkp_itemHeight="120dp"
    app:wkp_textBgRes="@drawable/text_bg"
    android:id="@+id/ev"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    
  </com.wkp.expandview_lib.view.ExpandView>
3.코드 예시

public class MainActivity extends AppCompatActivity {

  private static final String[] items = {"        ", "   ", "    ", "  ,     ", "       ", "             ",
      "123", "456", "789", "abc", "def", "  "};

  private static final String[] items1 = {"        1", "   1", "    1", "  ,     1", "       1", "             1",
      "123", "456", "789", "abc1", "def1", "  1"};

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    final ExpandView expandView = (ExpandView) findViewById(R.id.ev);
    //    
    expandView.setTextItems(items);
    //    ListView       
    expandView.setTextItems(items1);
    //             
    expandView.packUpItems();
    //      
    expandView.setOnItemClickListener(new ExpandView.OnItemClickListener() {
      @Override
      public void onItemClick(View view, ViewGroup parent, int position) {
        if (position == items.length - 1) {
          //      
          expandView.packUpItems();
        }
      }
    });
  }
}

결어
컨트롤 은 직접 코드 생 성 을 지원 합 니 다.더 많은 API 는 ExpandView.java 의 설명 을 보십시오.
github 주소:https://github.com/wkp111/ExpandView
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기