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

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

源代码1 项目: 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);
    }
 
源代码2 项目: BigApp_Discuz_Android   文件: ListViewUtils.java
/**
 * 通过listview的元素的高度来显示listview
 *
 * @param listView
 * @param attHeight
 */
public static void setListViewParentHeightBasedOnChildren(
        ListView listView, int attHeight) {
    ViewGroup.LayoutParams params = listView.getLayoutParams();
    params.height = (int) (getListViewHeightBasedOnChildren(listView)
            + attHeight + 0.5);
    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);

}
 
源代码3 项目: BigApp_Discuz_Android   文件: ListViewUtils.java
/**
 * @param
 * @return void 返回类型
 * @Title setListViewParentHeight
 * @Description 重新设置listview父控件的高度
 */
public static void setListViewParentHeight(ListView listView, int height) {

    LinearLayout linearLayout = (LinearLayout) listView.getParent();
    android.widget.LinearLayout.LayoutParams params = new android.widget.LinearLayout.LayoutParams(
            android.widget.LinearLayout.LayoutParams.MATCH_PARENT, height);
    linearLayout.setLayoutParams(params);

}
 
@Override
public final View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
	View layout = super.onCreateView(inflater, container, savedInstanceState);

	ListView lv = (ListView) layout.findViewById(android.R.id.list);
	ViewGroup parent = (ViewGroup) lv.getParent();

	// Remove ListView and add PullToRefreshListView in its place
	int lvIndex = parent.indexOfChild(lv);
	parent.removeViewAt(lvIndex);
	mPullToRefreshListView = onCreatePullToRefreshListView(inflater, savedInstanceState);
	parent.addView(mPullToRefreshListView, lvIndex, lv.getLayoutParams());

	return layout;
}
 
源代码5 项目: Broadsheet.ie-Android   文件: PostListFragment.java
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View layout = super.onCreateView(inflater, container, savedInstanceState);

    // Get original ListView and Frame
    ListView originalLv = (ListView) layout.findViewById(android.R.id.list);
    ViewGroup frame = (ViewGroup) originalLv.getParent();

    // Remove old ListView
    frame.removeView(originalLv);

    // Create new PullToRefreshListView and add to Frame
    mPullRefreshListView = new PullToRefreshListView(getActivity());
    frame.addView(mPullRefreshListView, new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
            ViewGroup.LayoutParams.MATCH_PARENT));

    mPullRefreshListView.setOnRefreshListener(new OnRefreshListener<ListView>() {
        @Override
        public void onRefresh(PullToRefreshBase<ListView> refreshView) {
            fetchPosts(null);
        }
    });

    boolean pauseOnScroll = false;
    boolean pauseOnFling = true;
    PauseOnScrollListener listener = new PauseOnScrollListener(ImageLoader.getInstance(), pauseOnScroll,
            pauseOnFling);
    mPullRefreshListView.setOnScrollListener(listener);

    return layout;
}
 
源代码6 项目: Locate-driver   文件: SettingsCardFragment.java
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    if (getView() == null) {
        return;
    }

    final ListView listView = (ListView) getView().findViewById(android.R.id.list);
    final View parent = (View) listView.getParent();

    ViewTreeObserver viewTreeObserver = parent.getViewTreeObserver();
    if (viewTreeObserver.isAlive() == false) {
        return;
    }

    viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
        @Override
        public void onGlobalLayout() {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
                parent.getViewTreeObserver().removeOnGlobalLayoutListener(this);
            } else {
                parent.getViewTreeObserver().removeGlobalOnLayoutListener(this);
            }

            int width = parent.getWidth() - listView.getPaddingLeft() - listView.getPaddingRight();

            Adapter adapter = listView.getAdapter();
            if (adapter != null) {
                int height = 0;
                for (int i = 0; i < adapter.getCount(); i++) {
                    View item = adapter.getView(i, null, listView);
                    item.measure(View.MeasureSpec.makeMeasureSpec(width, View.MeasureSpec.EXACTLY), 0);
                    height += item.getMeasuredHeight();
                }

                FrameLayout frame = (FrameLayout) getActivity().findViewById(R.id.settings_preferences_framelayout);
                ViewGroup.LayoutParams param = frame.getLayoutParams();
                param.height = height + (listView.getDividerHeight() * (adapter.getCount()));
                frame.setLayoutParams(param);
            }
        }
    });

}