@SuppressWarnings("deprecation")
  private void inflateTitleBar(ViewGroup view) {
    ViewStub stub = (ViewStub) view.findViewById(R.id.com_facebook_picker_title_bar_stub);
    if (stub != null) {
      View titleBar = stub.inflate();

      final RelativeLayout.LayoutParams layoutParams =
          new RelativeLayout.LayoutParams(
              RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);
      layoutParams.addRule(RelativeLayout.BELOW, R.id.com_facebook_picker_title_bar);
      listView.setLayoutParams(layoutParams);

      if (titleBarBackground != null) {
        titleBar.setBackgroundDrawable(titleBarBackground);
      }

      doneButton = (Button) view.findViewById(R.id.com_facebook_picker_done_button);
      if (doneButton != null) {
        doneButton.setOnClickListener(
            new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                logAppEvents(true);
                appEventsLogged = true;

                if (onDoneButtonClickedListener != null) {
                  onDoneButtonClickedListener.onDoneButtonClicked(PickerFragment.this);
                }
              }
            });

        if (getDoneButtonText() != null) {
          doneButton.setText(getDoneButtonText());
        }

        if (doneButtonBackground != null) {
          doneButton.setBackgroundDrawable(doneButtonBackground);
        }
      }

      titleTextView = (TextView) view.findViewById(R.id.com_facebook_picker_title);
      if (titleTextView != null) {
        if (getTitleText() != null) {
          titleTextView.setText(getTitleText());
        }
      }
    }
  }
Пример #2
0
    /** 设置ListView的高度(动态的) TODO delete */
    private void setListViewHeightBasedOnChildren(ListView listView) {

      ListAdapter listAdapter = listView.getAdapter();

      if (listAdapter == null) {
        return;
      }

      int totalHeight = 0;
      if (listAdapter.getCount() > showItemCount) {
        for (int i = 0; i < showItemCount; i++) {
          View listItem = listAdapter.getView(i, null, listView);
          listItem.measure(0, 0);
          totalHeight += listItem.getMeasuredHeight();
        }
      } else {
        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();
      int count = 7;
      if (listAdapter.getCount() < 8) {
        count = listAdapter.getCount();
      }
      if (totalHeight > 600) {
        totalHeight = 600;
      }
      params.height = totalHeight + (listView.getDividerHeight() * (count - 1));
      // ((ViewGroup.MarginLayoutParams) params).setMargins(10, 10, 10, 10); // 可删除

      listView.setLayoutParams(params);
    }