android.widget.ListView.requestLayout()方法的使用及代码示例

x33g5p2x  于2022-01-23 转载在 其他  
字(8.8k)|赞(0)|评价(0)|浏览(145)

本文整理了Java中android.widget.ListView.requestLayout()方法的一些代码示例,展示了ListView.requestLayout()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ListView.requestLayout()方法的具体详情如下:
包路径:android.widget.ListView
类名称:ListView
方法名:requestLayout

ListView.requestLayout介绍

暂无

代码示例

代码示例来源:origin: commonsguy/cw-omnibus

@Override
 public void onDestroyActionMode(ActionMode mode) {
  activeMode=null;
  modeView.clearChoices();
  modeView.requestLayout();
 }
}

代码示例来源:origin: stackoverflow.com

public static void getTotalHeightofListView(ListView listView) {

  ListAdapter mAdapter = listView.getAdapter();

  int totalHeight = 0;

  for (int i = 0; i < mAdapter.getCount(); i++) {
    View mView = mAdapter.getView(i, null, listView);

    mView.measure(
        MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),

        MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));

    totalHeight += mView.getMeasuredHeight();
    Log.w("HEIGHT" + i, String.valueOf(totalHeight));

  }

  ViewGroup.LayoutParams params = listView.getLayoutParams();
  params.height = totalHeight
      + (listView.getDividerHeight() * (mAdapter.getCount() - 1));
  listView.setLayoutParams(params);
  listView.requestLayout();

}

代码示例来源:origin: stackoverflow.com

public static void justifyListViewHeightBasedOnChildren (ListView listView) {

  ListAdapter adapter = listView.getAdapter();

  if (adapter == null) {
    return;
  }
  ViewGroup vg = listView;
  int totalHeight = 0;
  for (int i = 0; i < adapter.getCount(); i++) {
    View listItem = adapter.getView(i, null, vg);
    listItem.measure(0, 0);
    totalHeight += listItem.getMeasuredHeight();
  }

  ViewGroup.LayoutParams par = listView.getLayoutParams();
  par.height = totalHeight + (listView.getDividerHeight() * (adapter.getCount() - 1));
  listView.setLayoutParams(par);
  listView.requestLayout();
}

代码示例来源:origin: stackoverflow.com

public class Utils {

  public static void setListViewHeightBasedOnChildren(ListView listView) {
    ListAdapter listAdapter = listView.getAdapter(); 
    if (listAdapter == null) {
      // pre-condition
      return;
    }

    int totalHeight = 0;
    for (int i = 0; i < listAdapter.getCount(); i++) {
      View listItem = listAdapter.getView(i, null, listView);
      listItem.measure(0, 0);
      totalHeight += listItem.getMeasuredHeight();
    }

    ViewGroup.LayoutParams params = listView.getLayoutParams();
    params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
    listView.setLayoutParams(params);
    listView.requestLayout();
  }     
}

代码示例来源:origin: stackoverflow.com

public static void setListViewHeightBasedOnChildren(ListView listView) {
  ListAdapter listAdapter = listView.getAdapter();
  if (listAdapter == null) {
    return;
  }
  int desiredWidth = MeasureSpec.makeMeasureSpec(listView.getWidth(), MeasureSpec.AT_MOST);
  int totalHeight = 0;
  View view = null;
  for (int i = 0; i < listAdapter.getCount(); i++) {
    view = listAdapter.getView(i, view, listView);
    if (i == 0) {
      view.setLayoutParams(new ViewGroup.LayoutParams(desiredWidth, LayoutParams.WRAP_CONTENT));
    }
    view.measure(desiredWidth, MeasureSpec.UNSPECIFIED);
    totalHeight += view.getMeasuredHeight();
  }
  ViewGroup.LayoutParams params = listView.getLayoutParams();
  params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
  listView.setLayoutParams(params);
  listView.requestLayout();
}

代码示例来源:origin: stackoverflow.com

public class Utility {

  public static void setListViewHeightBasedOnChildren(ListView listView) {
    ListAdapter listAdapter = listView.getAdapter();
    if (listAdapter == null) {
      // pre-condition
      return;
    }

    int totalHeight = 0;
    int desiredWidth = MeasureSpec.makeMeasureSpec(listView.getWidth(), MeasureSpec.AT_MOST);
    for (int i = 0; i < listAdapter.getCount(); i++) {
      View listItem = listAdapter.getView(i, null, listView);
      listItem.measure(desiredWidth, MeasureSpec.UNSPECIFIED);
      totalHeight += listItem.getMeasuredHeight();
    }

    ViewGroup.LayoutParams params = listView.getLayoutParams();
    params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
    listView.setLayoutParams(params);
    listView.requestLayout();
  }
}

代码示例来源:origin: stackoverflow.com

public void setListViewHeightBasedOnChildren(ListView listView) {
  ListAdapter listAdapter = listView.getAdapter();
  if (listAdapter == null) {
    // pre-condition
    return;
  }

  int totalHeight = listView.getPaddingTop() + listView.getPaddingBottom();
  int desiredWidth = MeasureSpec.makeMeasureSpec(listView.getWidth(), MeasureSpec.AT_MOST);
  for (int i = 0; i < listAdapter.getCount(); i++) {
    View listItem = listAdapter.getView(i, null, listView);

    if(listItem != null){
      // This next line is needed before you call measure or else you won't get measured height at all. The listitem needs to be drawn first to know the height.
      listItem.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT));
      listItem.measure(desiredWidth, MeasureSpec.UNSPECIFIED);
      totalHeight += listItem.getMeasuredHeight();

    }
  }

  ViewGroup.LayoutParams params = listView.getLayoutParams();
  params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
  listView.setLayoutParams(params);
  listView.requestLayout();
}

代码示例来源:origin: UweTrottmann/SeriesGuide

@Override
public void requestLayout() {
  if (!mBlockLayoutRequests) {
    super.requestLayout();
  }
}

代码示例来源:origin: stackoverflow.com

public void justifyListViewHeightBasedOnChildren (ListView listView) {

  ListAdapter adapter = listView.getAdapter();

  if (adapter == null) {
    return;
  }
  ViewGroup vg = listView;
  int totalHeight = 0;
  for (int i = 0; i < adapter.getCount(); i++) {
    View listItem = adapter.getView(i, null, vg);
    listItem.measure(0, 0);
    totalHeight += listItem.getMeasuredHeight();
  }

  ViewGroup.LayoutParams par = listView.getLayoutParams();
  par.height = totalHeight + (listView.getDividerHeight() * (adapter.getCount() - 1));
  listView.setLayoutParams(par);
  listView.requestLayout();
}

代码示例来源:origin: stackoverflow.com

public class Utils {

public static void setListViewHeightBasedOnChildren(ListView listView) {
  ListAdapter listAdapter = listView.getAdapter(); 
  if (listAdapter == null) {
    // pre-condition
    return;
  }

  int totalHeight = 0;
  for (int i = 0; i < listAdapter.getCount(); i++) {
    View listItem = listAdapter.getView(i, null, listView);
    listItem.measure(0, 0);
    totalHeight += listItem.getMeasuredHeight();
  }

  ViewGroup.LayoutParams params = listView.getLayoutParams();
  params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
  listView.setLayoutParams(params);
  listView.requestLayout();
}


}

代码示例来源:origin: stackoverflow.com

public class Utility {
 public static void setListViewHeightBasedOnChildren(ListView listView) {
   ListAdapter listAdapter = listView.getAdapter();
   if (listAdapter == null) {
     // pre-condition
     return;
   }
   int totalHeight = 0;
   int desiredWidth = MeasureSpec.makeMeasureSpec(listView.getWidth(), MeasureSpec.AT_MOST);
   for (int i = 0; i < listAdapter.getCount(); i++) {
     View listItem = listAdapter.getView(i, null, listView);
     listItem.measure(desiredWidth, MeasureSpec.UNSPECIFIED);
     totalHeight += listItem.getMeasuredHeight();
   }
   ViewGroup.LayoutParams params = listView.getLayoutParams();
   params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
   listView.setLayoutParams(params);
   listView.requestLayout();
 }
}

代码示例来源:origin: stackoverflow.com

import android.view.View;
import android.view.ViewGroup;
import android.view.View.MeasureSpec;
import android.widget.ListAdapter;
import android.widget.ListView;

public class Utility {
  public static void setListViewHeightBasedOnChildren(ListView listView) {
    ListAdapter listAdapter = listView.getAdapter();
    if (listAdapter == null) {
      // pre-condition
      return;
    }

    int totalHeight = 0;
    int desiredWidth = MeasureSpec.makeMeasureSpec(listView.getWidth(), MeasureSpec.AT_MOST);
    for (int i = 0; i < listAdapter.getCount(); i++) {
      View listItem = listAdapter.getView(i, null, listView);
      listItem.measure(desiredWidth, MeasureSpec.UNSPECIFIED);
      totalHeight += listItem.getMeasuredHeight();
    }

    ViewGroup.LayoutParams params = listView.getLayoutParams();
    params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
    listView.setLayoutParams(params);
    listView.requestLayout();
  }
}

代码示例来源:origin: vanilla-music/vanilla

@Override
public void requestLayout() {
  if (!mBlockLayoutRequests) {
    super.requestLayout();
  }
}

代码示例来源:origin: devinhu/androidone

@Override
public void requestLayout() {
  if (!mBlockLayoutRequests) {
    super.requestLayout();
  }
}

代码示例来源:origin: yukuku/androidbible

@Override
public void requestLayout() {
  if (!mBlockLayoutRequests) {
    super.requestLayout();
  }
}

代码示例来源:origin: yomguy/servestream

@Override
public void requestLayout() {
  if (!mBlockLayoutRequests) {
    super.requestLayout();
  }
}

代码示例来源:origin: pmarks-net/chromadoze

@Override
public void requestLayout() {
  if (!mBlockLayoutRequests) {
    super.requestLayout();
  }
}

代码示例来源:origin: openbmap/radiocells-scanner-android

@Override
  public void onDestroyActionMode(final ActionMode mode) {
    activeMode = null;
    modeView.clearChoices();
    modeView.requestLayout();
  }
}

代码示例来源:origin: Calsign/APDE

public void clearChecks() {
  ListView permsList = (ListView) findViewById(R.id.permissions_list);
  permsList.clearChoices();
  permsList.requestLayout();
  
  for (int i = 0; i < checked.length; i ++) {
    checked[i] = false;
  }
}

代码示例来源:origin: stackoverflow.com

ListView lv = getListView();
 lv.requestLayout();
 if(aa.arrayValue.size() > 0) {
   lv.setVisibility(ListView.VISIBLE);
   setListAdapter(new Adaptor(this, R.layout.main_list_item, aa.arrayValue));
 }
 else {
   lv.setVisibility(ListView.INVISIBLE);
   TextView tv = (TextView) findViewById(android.R.id.empty);
   tv.requestLayout();
   tv.setVisibility(TextView.VISIBLE);
 }

相关文章

ListView类方法