【问题标题】:How to create an Asymmetric Layout on Android如何在 Android 上创建非对称布局
【发布时间】:2018-04-09 20:22:28
【问题描述】:

如何创建类似于所附图像的不对称布局?标准的 android 指南只展示了如何创建对称的列表和表格

【问题讨论】:

标签: android listview gridview grid-layout


【解决方案1】:

尝试使用AsymmetricGridView。 GridView 不支持这样做。您可以使用 GridLayout 来实现此目的,但它不使用 AbsListView 并且您不能使用回收。

【讨论】:

    【解决方案2】:
    1. 为行创建左对齐(左侧大图)和右对齐(右侧大图)XML 布局。每个都有一个包含大图片(左侧或右侧)的水平 ListView 和另一个包含小图片的垂直 ListView。

    2. 在您的 ListView 的适配器中,根据位置是奇数还是偶数(类似于)选择右对齐或左对齐布局:

      @Override
      public View getView(int position, View convertView, ViewGroup parent) {
      
      View rowView = convertView;
      
      //Reuse views.
      LayoutInflater mInflater = (LayoutInflater) context
              .getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
      if (rowView == null && (position % 2) == 0 //even position) {
          rowView = mInflater.inflate(R.layout.your_right_aligned_layout, parent, false); }
      else if (rowView == null && (position % 2) != 0 //odd position){
          rowView = mInflater.inflate(R.layout.your_left_aligned_layout, parent, false); }
      ...
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-27
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 2013-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多