android.widget.ListView#getLayoutParams ( )源码实例Demo

下面列出了android.widget.ListView#getLayoutParams ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Social   文件: NewsDetailActivity.java
/**
 * 使用自定义的Listview不用调用该方法
 * */
public void setListViewHeightBasedOnChildren(ListView listView) {
    // 获取ListView对应的Adapter
    ListAdapter listAdapter = listView.getAdapter();
    if (listAdapter == null) {
        return;
    }

    int totalHeight = 0;
    for (int i = 0, len = listAdapter.getCount(); i < len; i++) {
        // listAdapter.getCount()返回数据项的数目
        View listItem = listAdapter.getView(i, null, listView);
        // 计算子项View 的宽高
        listItem.measure(0, 0);
        // 统计所有子项的总高度
        totalHeight += listItem.getMeasuredHeight();
    }

    ViewGroup.LayoutParams params = listView.getLayoutParams();
    params.height = totalHeight+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));
    // listView.getDividerHeight()获取子项间分隔符占用的高度
    // params.height最后得到整个ListView完整显示需要的高度
    listView.setLayoutParams(params);
}
 
源代码2 项目: RxAndroidBootstrap   文件: ListViewUtil.java
/**** Method for Setting the Height of the ListView dynamically.
 **** Hack to fix the issue of not showing all the items of the ListView
 **** when placed inside a ScrollView  ****/
public static void setListViewHeightBasedOnChildren(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(
                View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),

                View.MeasureSpec.makeMeasureSpec(0, View.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();
}
 
源代码3 项目: pius1   文件: MaterialDialog.java
private 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);
   }
 
源代码4 项目: pivaa   文件: AboutActivity.java
/**
 * Shrink listview height
 * @param listView
 * @param adapter
 */
public void setListViewHeightBasedOnChildren(ListView listView, AboutAdapter adapter) {
    int totalHeight = 0;
    for (int i = 0; i < adapter.getCount(); i++) {
        View listItem = adapter.getView(i, null, listView);
        listItem.measure(0, 0);
        totalHeight += listItem.getMeasuredHeight() + 180;
        Log.i("htbridge", "listItem.getMeasuredHeight()  = " + listItem.getMeasuredHeight() );
    }

    Log.i("htbridge", "totalHeight = " + totalHeight);

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

}
 
源代码5 项目: android-project-wo2b   文件: ViewUtils.java
/**
 * 计算ListView的高度, 重置ListView的高度.
 * 
 * @param listView
 */
public static void setListViewHeightBasedOnChildren(ListView listView)
{
	ListAdapter listAdapter = listView.getAdapter();
	if (listAdapter == null)
	{
		return;
	}

	View listItem = null;
	int totalHeight = 0;
	for (int i = 0; i < listAdapter.getCount(); i++)
	{
		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);
}
 
源代码6 项目: Study_Android_Demo   文件: MainActivity.java
public void setListViewHeightBasedOnChildren(ListView listView) {
    // 获取ListView对应的Adapter
    ListAdapter listAdapter = listView.getAdapter();
    if (listAdapter == null) {
        return;
    }

    int totalHeight = 0;
    for (int i = 0, len = listAdapter.getCount(); i < len; i++) {
        // listAdapter.getCount()返回数据项的数目
        View listItem = listAdapter.getView(i, null, listView);
        // 计算子项View 的宽高   注意:LinearLayout才有measure方法 所以,此setListViewHeightBasedOnChildren方法只适用ListView的父布局为LinearLayout
        listItem.measure(0, 0);
        // 统计所有子项的总高度
        totalHeight += listItem.getMeasuredHeight();
    }

    ViewGroup.LayoutParams params = listView.getLayoutParams();
    params.height = totalHeight+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));
    // listView.getDividerHeight()获取子项间分隔符占用的高度
    // params.height最后得到整个ListView完整显示需要的高度
    listView.setLayoutParams(params);
}
 
源代码7 项目: Social   文件: CommentUtil.java
/**
 * 根据item设置listview高度
 * */
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);
}
 
源代码8 项目: opencdk-appwidget   文件: ViewUtils.java
/**
 * 计算ListView的高度, 重置ListView的高度.
 * 
 * @param listView
 */
public static void setListViewHeightBasedOnChildren(ListView listView)
{
	ListAdapter listAdapter = listView.getAdapter();
	if (listAdapter == null)
	{
		return;
	}

	View listItem = null;
	int totalHeight = 0;
	for (int i = 0; i < listAdapter.getCount(); i++)
	{
		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);
}
 
源代码9 项目: Huochexing12306   文件: BuyTicketInfoFragment.java
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
		Bundle savedInstanceState) {
	View v = inflater.inflate(R.layout.fragment_buy_ticket_info, null);
	lvInfos = (ListView) v.findViewById(R.id.buyTicketInfo_lvInfos);
	MyDatabase myDB = new MyDatabase(this.getActivity());
	mAdapter= new SimpleAdapter(this.getActivity(), mLstDatas, R.layout.item_buy_ticket_info,
			new String[]{MyDatabase.KEY, MyDatabase.VALUE},
			new int[]{R.id.item_buy_ticket_info_tvQuestion, R.id.item_buy_ticket_info_tvAnswer}
			);
	lvInfos.setAdapter(mAdapter);
	myDB.closeDB();
	notifyAdapterDataChanged(myDB.getTicketInfos(0));
	MyUtils.setListViewHeightBasedOnChildren(lvInfos);  //设置ListView全部显示
	ViewGroup.LayoutParams params = lvInfos.getLayoutParams();
	
	params.height += 3000;   //方法不太准,人为校正高度
	lvInfos.setLayoutParams(params);
	sv1 = (ScrollView)v.findViewById(R.id.buyTicketInfo_sv1);
	sv1.smoothScrollTo(0, 20);
	return v;
}
 
源代码10 项目: smartcoins-wallet   文件: SendScreen.java
public void setListViewHeightBasedOnChildren(ListView listView, int childCount) {
    ListAdapter listAdapter = listView.getAdapter();
    if (listAdapter == null) {
        // pre-condition
        return;
    }
    int totalHeight = 0;
    for (int i = 0; i < childCount; i++) {
        View listItem = listAdapter.getView(i, null, listView);
        listItem.measure(0, 0);
        int px = listItem.getMeasuredHeight();
        totalHeight += px * 1.2;
    }
    Log.d(TAG, String.format("total height: %d", totalHeight));
    ViewGroup.LayoutParams params = listView.getLayoutParams();
    params.height = totalHeight + (listView.getDividerHeight() * (5 - 1));
    listView.setLayoutParams(params);
}
 
源代码11 项目: BigApp_Discuz_Android   文件: ListViewUtils.java
public static void setListViewHeightBasedOnChildren(ListView listView) {

        ViewGroup.LayoutParams params = listView.getLayoutParams();
        params.height = getListViewHeightBasedOnChildren(listView);
        listView.setLayoutParams(params);

        System.out.println("params.height:" + params.height);

        LinearLayout linearLayout = (LinearLayout) listView.getParent();

        // android.widget.LinearLayout.LayoutParams params2 = new
        // android.widget.LinearLayout.LayoutParams(
        // LayoutParams.MATCH_PARENT, params.height);
        //
        // params2.setMargins(10, 0, 10, 10);

        linearLayout.setLayoutParams(params);
    }
 
源代码12 项目: Favorite-Android-Client   文件: listviewutil.java
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() + 50;
    }

    ViewGroup.LayoutParams params = listView.getLayoutParams();
    params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() -1));
    listView.setLayoutParams(params);
}
 
源代码13 项目: Mp3Cutter   文件: ViewUtils.java
public static void setListViewHeightBasedOnChildren(ListView listView,
		boolean mIsFlag) {
	// 获取ListView对应的Adapter
	ListAdapter listAdapter = listView.getAdapter();
	if (listAdapter == null) {
		return;
	}

	int totalHeight = 0;
	int moneHeight = 0;
	for (int i = 0, len = listAdapter.getCount(); i < len; i++) { // listAdapter.getCount()返回数据项的数目
		View listItem = listAdapter.getView(i, null, listView);
		listItem.measure(0, 0); // 计算子项View 的宽高
		totalHeight += listItem.getMeasuredHeight(); // 统计所有子项的总高度
		// sysout.println("----------高度----------"+listItem.getMeasuredHeight());
		// if(i==len-1 && (mIsFlag)){ //评论特殊处理
		// moneHeight = listItem.getMeasuredHeight()/2+10;
		// }
	}

	ViewGroup.LayoutParams params = listView.getLayoutParams();
	totalHeight = moneHeight + totalHeight;
	params.height = totalHeight
			+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));
	// sysout.println("-----总高度----------------"+params.height);
	// listView.getDividerHeight()获取子项间分隔符占用的高度
	// params.height最后得到整个ListView完整显示需要的高度
	listView.setLayoutParams(params);
	// sysout.println("---------ListView高度----------"+listView.getLayoutParams().height);
}
 
源代码14 项目: 365browser   文件: TabularContextMenuUi.java
/**
 * Creates the view of a context menu. Based off the Context Type, it'll adjust the list of
 * items and display only the ones that'll be on that specific group.
 * @param activity Used to get the resources of an item.
 * @param params used to create the header text.
 * @param items A set of Items to display in a context menu. Filtered based off the type.
 * @param isImage Whether or not the view should have an image layout or not.
 * @param maxCount The maximum amount of {@link ContextMenuItem}s that could exist in this view
 *                 or any other views calculated in the context menu. Used to estimate the size
 *                 of the list.
 * @return Returns a filled LinearLayout with all the context menu items.
 */
@VisibleForTesting
ViewGroup createContextMenuPageUi(Activity activity, ContextMenuParams params,
        List<ContextMenuItem> items, boolean isImage, int maxCount) {
    ViewGroup baseLayout = (ViewGroup) LayoutInflater.from(activity).inflate(
            R.layout.tabular_context_menu_page, null);
    ListView listView = (ListView) baseLayout.findViewById(R.id.selectable_items);

    displayHeaderIfVisibleItems(params, baseLayout);
    if (isImage) {
        // #displayHeaderIfVisibleItems() sets these two views to GONE if the header text is
        // empty but they should still be visible because we have an image to display.
        baseLayout.findViewById(R.id.context_header_layout).setVisibility(View.VISIBLE);
        baseLayout.findViewById(R.id.context_divider).setVisibility(View.VISIBLE);
        displayImageHeader(baseLayout, params, activity.getResources());
    }

    // Set the list adapter and get the height to display it appropriately in a dialog.
    Runnable onDirectShare = new Runnable() {
        @Override
        public void run() {
            mOnShareItemClicked.run();
            mDialog.dismiss();
        }
    };
    TabularContextMenuListAdapter listAdapter =
            new TabularContextMenuListAdapter(items, activity, onDirectShare);
    ViewGroup.LayoutParams layoutParams = listView.getLayoutParams();
    layoutParams.height = measureApproximateListViewHeight(listView, listAdapter, maxCount);
    listView.setLayoutParams(layoutParams);
    listView.setAdapter(listAdapter);
    listView.setOnItemClickListener(this);

    return baseLayout;
}
 
private void initialize(){
	DisplayMetrics dm = new DisplayMetrics();
	getWindowManager().getDefaultDisplay().getMetrics(dm);
	
	screenWidth = dm.widthPixels;
	screenHeight = dm.heightPixels;
	
	final TextView headerText = (TextView)findViewById(R.id.dbeditHeaderText);
	RelativeLayout.LayoutParams headerTextParams = (RelativeLayout.LayoutParams)headerText.getLayoutParams();
	headerTextParams.leftMargin = screenHeight/8;
	headerText.setLayoutParams(headerTextParams);
	headerText.setTextSize(TypedValue.COMPLEX_UNIT_DIP,(float)screenHeight/45);
	headerText.setText("Face DataBase");
	headerText.setTextColor(Color.LTGRAY);
	headerText.setGravity(Gravity.LEFT | Gravity.CENTER_VERTICAL);
	headerText.setTypeface(null, Typeface.BOLD);
	
	
	ListView listView = (ListView)findViewById(R.id.dbeditListView);
	ListAdapter listAdapter = new ListAdapter();
	listView.setAdapter(listAdapter);
	listView.setOnItemClickListener(itemClickListener);
	listView.setVerticalScrollBarEnabled(true);
	listView.setFastScrollEnabled(true);
	
	RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)listView.getLayoutParams();
	params.leftMargin = screenWidth/40;
	params.rightMargin = screenWidth/40;
	//params.topMargin = screenHeight/40;
	listView.setLayoutParams(params);
	listView.setVerticalScrollBarEnabled(false);
}
 
源代码16 项目: 365browser   文件: SearchEnginePreference.java
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    mListView = (ListView) getView().findViewById(android.R.id.list);
    int marginTop = getActivity().getResources().getDimensionPixelSize(
            R.dimen.search_engine_list_margin_top);
    MarginLayoutParams layoutParams = (MarginLayoutParams) mListView.getLayoutParams();
    layoutParams.setMargins(0, marginTop, 0, 0);
    mListView.setLayoutParams(layoutParams);
    mListView.setAdapter(mSearchEngineAdapter);
    mListView.setDivider(null);
}
 
源代码17 项目: Social   文件: NearbyRecruitFragment.java
public void setListViewHeight(ListView listView) {
    ListAdapter listAdapter = listView.getAdapter();
    if(listAdapter == null) {
        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);
}
 
源代码18 项目: Mupdf   文件: ProofActivity.java
@Override
public void onIdle()
{
	//  called when page rendering has become idle

	if (mWaitingForSpinner)
	{
		spinner.dismiss();
		mWaitingForSpinner = false;
	}

	if (mWaitingForIdle)
	{
		spinner.dismiss();
		setPageLabel();

		//  get the current page
		DocPageView dpv = (DocPageView)mDocView.getViewFromAdapter(mDocView.getCurrentPage());
		Page page = dpv.getPage();

		//  count the separations
		int numSeparations = page.countSeparations();

		//  set up the list
		mColorList = (ListView)findViewById(R.id.proof_color_list);
		mColorAdapter = new ChooseColorAdapter(getLayoutInflater(), new ColorChangeListener() {
			@Override
			public void onColorChange() {
				mApplyButton.setEnabled(true);
			}
		});
		mColorList.setAdapter(mColorAdapter);

		//  get each one
		for (int i=0; i<numSeparations; i++)
		{
			//  get it
			Separation sep = page.getSeparation(i);
			String name = sep.name;

			//  transform to a color that can be used to colorize icons
			int alpha = (sep.bgra >> 24) & 0xFF;
			int red   = (sep.bgra >> 16) & 0xFF;
			int green = (sep.bgra >> 8 ) & 0xFF;
			int blue  = (sep.bgra >> 0 ) & 0xFF;
			int color = (alpha << 24) | (red << 16) | (green << 8) | (blue << 0);

			mColorAdapter.add(new ChooseColorItem(sep.name, color, true, sep));
		}

		mColorList.getLayoutParams().width = getWidestView(getBaseContext(), mColorAdapter);

	}
	mWaitingForIdle = false;
}
 
源代码19 项目: Orin   文件: ArtistDetailActivity.java
public void setHeightofListViewBasedOnContent(ListView listView) {

        ListAdapter mAdapter = listView.getAdapter();

        int totalHeight = 0;

        for (int i = 0; i < mAdapter.getCount(); i++) {

            totalHeight += getResources().getDimension(R.dimen.item_list_height);
            Log.w("HEIGHT" + i, String.valueOf(totalHeight));

        }

        totalHeight = totalHeight +  (listView.getDividerHeight() * (mAdapter.getCount() - 1)) + listView.getPaddingTop();

        ViewGroup.LayoutParams params = listView.getLayoutParams();
        params.height = totalHeight;
        listView.setLayoutParams(params);
        listView.requestLayout();

    }
 
private void initView() {
    setContentView(R.layout.dialog_hd_old_addresses);
    lv = (ListView) findViewById(R.id.lv);
    lv.setAdapter(adapter);
    lv.getLayoutParams().height = caculateHeight();
}