List of usage examples for android.view View setLayoutParams
public void setLayoutParams(ViewGroup.LayoutParams params)
From source file:com.amaze.filemanager.activities.MainActivity.java
public void bbar(final Main main) { final String text = main.CURRENT_PATH; try {//from w w w .jav a2 s . c o m buttons.removeAllViews(); buttons.setMinimumHeight(pathbar.getHeight()); Drawable arrow = getResources().getDrawable(R.drawable.abc_ic_ab_back_holo_dark); Bundle b = utils.getPaths(text, this); ArrayList<String> names = b.getStringArrayList("names"); ArrayList<String> rnames = new ArrayList<String>(); for (int i = names.size() - 1; i >= 0; i--) { rnames.add(names.get(i)); } ArrayList<String> paths = b.getStringArrayList("paths"); final ArrayList<String> rpaths = new ArrayList<String>(); for (int i = paths.size() - 1; i >= 0; i--) { rpaths.add(paths.get(i)); } View view = new View(this); LinearLayout.LayoutParams params1 = new LinearLayout.LayoutParams(toolbar.getContentInsetLeft(), LinearLayout.LayoutParams.WRAP_CONTENT); view.setLayoutParams(params1); buttons.addView(view); for (int i = 0; i < names.size(); i++) { final int k = i; ImageView v = new ImageView(this); v.setImageDrawable(arrow); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); params.gravity = Gravity.CENTER_VERTICAL; v.setLayoutParams(params); final int index = i; if (rpaths.get(i).equals("/")) { ImageButton ib = new ImageButton(this); ib.setImageDrawable(icons.getRootDrawable()); ib.setBackgroundColor(Color.parseColor("#00ffffff")); ib.setOnClickListener(new View.OnClickListener() { public void onClick(View p1) { main.loadlist(("/"), false, main.openMode); timer.cancel(); timer.start(); } }); ib.setLayoutParams(params); buttons.addView(ib); if (names.size() - i != 1) buttons.addView(v); } else if (isStorage(rpaths.get(i))) { ImageButton ib = new ImageButton(this); ib.setImageDrawable(icons.getSdDrawable()); ib.setBackgroundColor(Color.parseColor("#00ffffff")); ib.setOnClickListener(new View.OnClickListener() { public void onClick(View p1) { main.loadlist((rpaths.get(k)), false, main.openMode); timer.cancel(); timer.start(); } }); ib.setLayoutParams(params); buttons.addView(ib); if (names.size() - i != 1) buttons.addView(v); } else { Button button = new Button(this); button.setText(rnames.get(index)); button.setTextColor(getResources().getColor(android.R.color.white)); button.setTextSize(13); button.setLayoutParams(params); button.setBackgroundResource(0); button.setOnClickListener(new Button.OnClickListener() { public void onClick(View p1) { main.loadlist((rpaths.get(k)), false, main.openMode); main.loadlist((rpaths.get(k)), false, main.openMode); timer.cancel(); timer.start(); } }); button.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View view) { File file1 = new File(rpaths.get(index)); copyToClipboard(MainActivity.this, file1.getPath()); Toast.makeText(MainActivity.this, getResources().getString(R.string.pathcopied), Toast.LENGTH_SHORT).show(); return false; } }); buttons.addView(button); if (names.size() - i != 1) buttons.addView(v); } } scroll.post(new Runnable() { @Override public void run() { sendScroll(scroll); sendScroll(scroll1); } }); if (buttons.getVisibility() == View.VISIBLE) { timer.cancel(); timer.start(); } } catch (Exception e) { e.printStackTrace(); System.out.println("button view not available"); } }
From source file:com.example.GoIceland.grids.StaggeredGridView.java
/** * Should be called with mPopulating set to true * * @param fromPosition Position to start filling from * @param overhang the number of extra pixels to fill beyond the current bottom edge * @return the max overhang beyond the end of the view of any added items at the bottom */// w w w. j a v a 2s . co m final int fillDown(int fromPosition, int overhang) { final int paddingLeft = getPaddingLeft(); final int paddingRight = getPaddingRight(); final int itemMargin = mItemMargin; final int colWidth = (getWidth() - paddingLeft - paddingRight - itemMargin * (mColCount - 1)) / mColCount; final int gridBottom = getHeight() - getPaddingBottom(); final int fillTo = gridBottom + overhang; int nextCol = getNextColumnDown(fromPosition); int position = fromPosition; int failed = 0; while (nextCol >= 0 && mItemBottoms[nextCol] < fillTo && position < mItemCount && failed < 5) { final View child = obtainView(position, null); if (child == null) { failed++; continue; } failed = 0; LayoutParams lp = (LayoutParams) child.getLayoutParams(); if (lp == null) { lp = this.generateDefaultLayoutParams(); child.setLayoutParams(lp); } if (child.getParent() != this) { if (mInLayout) { addViewInLayout(child, -1, lp); } else { addView(child); } } final int span = Math.min(mColCount, lp.span); final int widthSize = colWidth * span + itemMargin * (span - 1); final int widthSpec = MeasureSpec.makeMeasureSpec(widthSize, MeasureSpec.EXACTLY); LayoutRecord rec; if (span > 1) { rec = getNextRecordDown(position, span); // nextCol = rec.column; nextCol = 0; } else { rec = mLayoutRecords.get(position); } boolean invalidateAfter = false; if (rec == null) { rec = new LayoutRecord(); mLayoutRecords.put(position, rec); rec.column = nextCol; rec.span = span; } else if (span != rec.span) { rec.span = span; rec.column = nextCol; invalidateAfter = true; } else { // nextCol = rec.column; } if (mHasStableIds) { final long id = mAdapter.getItemId(position); rec.id = id; lp.id = id; } lp.column = nextCol; /** * Magic does not exist */ // child.measure(MeasureSpec.EXACTLY, MeasureSpec.UNSPECIFIED); final int heightSpec; if (lp.height == LayoutParams.WRAP_CONTENT) { heightSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED); } else { heightSpec = MeasureSpec.makeMeasureSpec(lp.height, MeasureSpec.EXACTLY); } child.measure(widthSpec, heightSpec); final int childHeight = child.getMeasuredHeight(); if (invalidateAfter || (childHeight != rec.height && rec.height > 0)) { invalidateLayoutRecordsAfterPosition(position); } rec.height = childHeight; final int startFrom; if (span > 1) { int lowest = mItemBottoms[nextCol]; // final int colEnd = Math.min(mColCount, nextCol + lp.span); // Only for span = maxCol for (int i = 0; i < mColCount; i++) { final int bottom = mItemBottoms[i]; if (bottom > lowest) { lowest = bottom; } } startFrom = lowest; } else { startFrom = mItemBottoms[nextCol]; } final int childTop = startFrom + itemMargin; final int childBottom = childTop + childHeight; final int childLeft; if (span > 1) { childLeft = paddingLeft; } else { childLeft = paddingLeft + nextCol * (colWidth + itemMargin); } final int childRight = childLeft + child.getMeasuredWidth(); child.layout(childLeft, childTop, childRight, childBottom); rec.left = childLeft; rec.top = childTop; rec.right = childRight; rec.bottom = childBottom; rec.hasRecRecord = true; // add the position to the mapping if (!mColMappings.get(nextCol).contains(position)) { // check to see if the mapping exists in other columns // this would happen if list has been updated for (ArrayList<Integer> list : mColMappings) { if (list.contains(position)) { list.remove((Integer) position); } } mColMappings.get(nextCol).add(position); } final int colEnd = Math.min(mColCount, nextCol + lp.span); for (int i = nextCol; i < colEnd; i++) { mItemBottoms[i] = childBottom + rec.getMarginBelow(i - nextCol); } position++; nextCol = getNextColumnDown(position); } int lowestView = 0; for (int i = 0; i < mColCount; i++) { if (mItemBottoms[i] > lowestView) { lowestView = mItemBottoms[i]; } } return lowestView - gridBottom; }
From source file:com.modprobe.profit.CustomArrayAdapter.java
/** * Populates the item in the listview cell with the appropriate data. This * method sets the thumbnail image, the title and the extra text. This * method also updates the layout parameters of the item's view so that the * image and title are centered in the bounds of the collapsed view, and * such that the extra text is not displayed in the collapsed state of the * cell.//from ww w. j a v a 2 s . com */ @Override public View getView(final int position, View convertView, ViewGroup parent) { final SuggestionExpandingListViewItem object = mData.get(position); if (convertView == null) { LayoutInflater inflater = ((AppCompatActivity) getContext()).getLayoutInflater(); convertView = inflater.inflate(mLayoutViewResourceId, parent, false); } LinearLayout linearLayout = (LinearLayout) (convertView.findViewById(R.id.item_linear_layout)); LinearLayout.LayoutParams linearLayoutParams = new LinearLayout.LayoutParams( AbsListView.LayoutParams.MATCH_PARENT, object.getCollapsedHeight()); linearLayout.setLayoutParams(linearLayoutParams); TextView taskTextView = (TextView) convertView.findViewById(R.id.task); TextView intensityTextView = (TextView) convertView.findViewById(R.id.intensity); TextView durationTextView = (TextView) convertView.findViewById(R.id.duration); TextView descriptionTextView = (TextView) convertView.findViewById(R.id.description); taskTextView.setText(object.task); intensityTextView.setText(object.intensity); durationTextView.setText(object.duration); descriptionTextView.setText(object.description); // linearLayout.setOnClickListener(new OnClickListener() { // // @Override // public void onClick(View arg0) { // if(mData.get(position).isExpanded()){ // arg0.getP // } // else{ // // } // // } // }); Button doneButton = (Button) convertView.findViewById(R.id.done); Button nopeButton = (Button) convertView.findViewById(R.id.nope); doneButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Toast.makeText(mContext, "Alright We'll log it!", Toast.LENGTH_SHORT).show(); ActivityDataSource ads = new ActivityDataSource(mContext); ads.open(); Suggestion ss = mData.get(position).suggestion; ads.createActivity(ss._subcat, ss._duration, Helper.getFitons(ss._duration, ss._intensity, ss._subcat._exertion), ss._intensity, (int) (Math.random() * 1000000)); ads.close(); mData.remove(position); notifyDataSetChanged(); vpInstance.getAdapter().notifyDataSetChanged(); } }); nopeButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Toast.makeText(mContext, "Maybe next time!", Toast.LENGTH_SHORT).show(); mData.remove(position); notifyDataSetChanged(); } }); convertView.setLayoutParams(new ListView.LayoutParams(AbsListView.LayoutParams.MATCH_PARENT, AbsListView.LayoutParams.WRAP_CONTENT)); ExpandingLayout expandingLayout = (ExpandingLayout) convertView.findViewById(R.id.expanding_layout); expandingLayout.setExpandedHeight(object.getExpandedHeight()); expandingLayout.setSizeChangedListener(object); if (!object.isExpanded()) { expandingLayout.setVisibility(View.GONE); } else { expandingLayout.setVisibility(View.VISIBLE); } return convertView; }
From source file:com.skurro.pricesnapp1.staggeredgridview.StaggeredGridView.java
/** * Should be called with mPopulating set to true * * @param fromPosition Position to start filling from * @param overhang the number of extra pixels to fill beyond the current bottom edge * @return the max overhang beyond the end of the view of any added items at the bottom */// ww w. j av a 2 s . c om final int fillDown(int fromPosition, int overhang) { final int paddingLeft = getPaddingLeft(); final int paddingRight = getPaddingRight(); final int itemMargin = mItemMargin; final int colWidth = (getWidth() - paddingLeft - paddingRight - itemMargin * (mColCount - 1)) / mColCount; final int gridBottom = getHeight() - getPaddingBottom(); final int fillTo = gridBottom + overhang; int nextCol = getNextColumnDown(fromPosition); int position = fromPosition; while (nextCol >= 0 && mItemBottoms[nextCol] < fillTo && position < mItemCount) { final View child = obtainView(position, null); if (child == null) continue; LayoutParams lp = (LayoutParams) child.getLayoutParams(); if (lp == null) { lp = this.generateDefaultLayoutParams(); child.setLayoutParams(lp); } if (child.getParent() != this) { if (mInLayout) { addViewInLayout(child, -1, lp); } else { addView(child); } } final int span = Math.min(mColCount, lp.span); final int widthSize = colWidth * span + itemMargin * (span - 1); final int widthSpec = MeasureSpec.makeMeasureSpec(widthSize, MeasureSpec.EXACTLY); LayoutRecord rec = null; if (span > 1) { try { rec = getNextRecordDown(position, span); // nextCol = rec.column; nextCol = 0; } catch (IllegalStateException ise) { ise.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } else { rec = mLayoutRecords.get(position); } boolean invalidateAfter = false; if (rec == null) { rec = new LayoutRecord(); mLayoutRecords.put(position, rec); rec.column = nextCol; rec.span = span; } else if (span != rec.span) { rec.span = span; rec.column = nextCol; invalidateAfter = true; } else { // nextCol = rec.column; } if (mHasStableIds) { final long id = mAdapter.getItemId(position); rec.id = id; lp.id = id; } lp.column = nextCol; /** * Magic does not exist */ // child.measure(MeasureSpec.EXACTLY, MeasureSpec.UNSPECIFIED); final int heightSpec; if (lp.height == LayoutParams.WRAP_CONTENT) { heightSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED); } else { heightSpec = MeasureSpec.makeMeasureSpec(lp.height, MeasureSpec.EXACTLY); } child.measure(widthSpec, heightSpec); final int childHeight = child.getMeasuredHeight(); if (invalidateAfter || (childHeight != rec.height && rec.height > 0)) { invalidateLayoutRecordsAfterPosition(position); } rec.height = childHeight; final int startFrom; if (span > 1) { int lowest = mItemBottoms[nextCol]; // final int colEnd = Math.min(mColCount, nextCol + lp.span); // Only for span = maxCol for (int i = 0; i < mColCount; i++) { final int bottom = mItemBottoms[i]; if (bottom > lowest) { lowest = bottom; } } startFrom = lowest; } else { startFrom = mItemBottoms[nextCol]; } final int childTop = startFrom + itemMargin; final int childBottom = childTop + childHeight; final int childLeft; if (span > 1) { childLeft = paddingLeft; } else { childLeft = paddingLeft + nextCol * (colWidth + itemMargin); } final int childRight = childLeft + child.getMeasuredWidth(); child.layout(childLeft, childTop, childRight, childBottom); rec.left = childLeft; rec.top = childTop; rec.right = childRight; rec.bottom = childBottom; rec.hasRecRecord = true; // add the position to the mapping if (!mColMappings.get(nextCol).contains(position)) { // check to see if the mapping exists in activity_other_location columns // this would happen if list has been updated for (ArrayList<Integer> list : mColMappings) { if (list.contains(position)) { list.remove((Integer) position); } } mColMappings.get(nextCol).add(position); } final int colEnd = Math.min(mColCount, nextCol + lp.span); for (int i = nextCol; i < colEnd; i++) { mItemBottoms[i] = childBottom + rec.getMarginBelow(i - nextCol); } position++; nextCol = getNextColumnDown(position); } int lowestView = 0; for (int i = 0; i < mColCount; i++) { if (mItemBottoms[i] > lowestView) { lowestView = mItemBottoms[i]; } } return lowestView - gridBottom; }
From source file:com.origamilabs.library.views.StaggeredGridView.java
/** Should be called with mPopulating set to true * /*w ww. j av a2 s . c om*/ * @param fromPosition * Position to start filling from * @param overhang * the number of extra pixels to fill beyond the current bottom * edge * @return the max overhang beyond the end of the view of any added items at * the bottom */ final int fillDown(int fromPosition, int overhang) { final int paddingLeft = getPaddingLeft(); final int paddingRight = getPaddingRight(); // final int itemMargin = mItemMargin; final int colWidth = (getWidth() - paddingLeft - paddingRight) / mColCount; final int gridBottom = getHeight() - getPaddingBottom(); final int fillTo = gridBottom + overhang; int nextCol = getNextColumnDown(fromPosition); int position = fromPosition; while (nextCol >= 0 && mItemBottoms[nextCol] < fillTo && position < mItemCount) { final View child = obtainView(position, null); if (child == null) continue; LayoutParams lp = (LayoutParams) child.getLayoutParams(); if (lp == null) { lp = this.generateDefaultLayoutParams(); child.setLayoutParams(lp); } if (child.getParent() != this) { if (mInLayout) { addViewInLayout(child, -1, lp); } else { addView(child); } } final int span = Math.min(mColCount, lp.span); final int widthSize = colWidth * span; final int widthSpec = MeasureSpec.makeMeasureSpec(widthSize, MeasureSpec.EXACTLY); LayoutRecord rec; if (span > 1) { rec = getNextRecordDown(position, span); // nextCol = rec.column; } else { rec = mLayoutRecords.get(position); } boolean invalidateAfter = false; if (rec == null) { rec = new LayoutRecord(); mLayoutRecords.put(position, rec); rec.column = nextCol; rec.span = span; } else if (span != rec.span) { rec.span = span; rec.column = nextCol; invalidateAfter = true; } else { // nextCol = rec.column; } if (mHasStableIds) { final long id = mAdapter.getItemId(position); rec.id = id; lp.id = id; } lp.column = nextCol; final int heightSpec; if (lp.height == LayoutParams.WRAP_CONTENT) { heightSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED); } else { heightSpec = MeasureSpec.makeMeasureSpec(lp.height, MeasureSpec.EXACTLY); } child.measure(widthSpec, heightSpec); final int childHeight = child.getMeasuredHeight(); if (invalidateAfter || (childHeight != rec.height && rec.height > 0)) { invalidateLayoutRecordsAfterPosition(position); } rec.height = childHeight; final int startFrom; if (span > 1) { int lowest = mItemBottoms[nextCol]; for (int i = nextCol + 1; i < nextCol + span; i++) { final int bottom = mItemBottoms[i]; if (bottom > lowest) { lowest = bottom; } } startFrom = lowest; } else { startFrom = mItemBottoms[nextCol]; } final int childTop = startFrom; final int childBottom = childTop + childHeight; final int childLeft = paddingLeft + nextCol * (colWidth); final int childRight = childLeft + child.getMeasuredWidth(); child.layout(childLeft, childTop, childRight, childBottom); // add the position to the mapping if (!mColMappings.get(nextCol).contains(position)) { // check to see if the mapping exists in other columns // this would happen if list has been updated for (ArrayList<Integer> list : mColMappings) { if (list.contains(position)) { list.remove((Integer) position); } } mColMappings.get(nextCol).add(position); } for (int i = nextCol; i < nextCol + span; i++) { mItemBottoms[i] = childBottom + rec.getMarginBelow(i - nextCol); } position++; nextCol = getNextColumnDown(position); } int lowestView = 0; for (int i = 0; i < mColCount; i++) { if (mItemBottoms[i] > lowestView) { lowestView = mItemBottoms[i]; } } return lowestView - gridBottom; }
From source file:com.roiland.crm.sm.ui.view.ScOppoInfoFragment.java
/** * //from w ww. j a v a 2 s.c o m * <pre> * ??list * </pre> * */ private void refreshFollowInfoList() { if (mFollowInfo != null && followPlanAdapter != null) { mFollowInfo.removeAllViews(); for (int i = 0; i < followPlanAdapter.getCount(); i++) { mFollowInfo.addView(followPlanAdapter.getView(i, null, null)); View dividerView = new View(getActivity()); dividerView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, 1)); dividerView.setBackgroundColor(getResources().getColor(R.color.list_divider)); mFollowInfo.addView(dividerView); } } }
From source file:com.origamilabs.library.views.StaggeredGridView.java
/** Should be called with mPopulating set to true * // www . ja va2s.c om * @param fromPosition * Position to start filling from * @param overhang * the number of extra pixels to fill beyond the current top edge * @return the max overhang beyond the beginning of the view of any added * items at the top */ final int fillUp(int fromPosition, int overhang) { final int paddingLeft = getPaddingLeft(); final int paddingRight = getPaddingRight(); // final int itemMargin = mItemMargin; final int colWidth = (getWidth() - paddingLeft - paddingRight) / mColCount; mColWidth = colWidth; final int gridTop = getPaddingTop(); final int fillTo = gridTop - overhang; int nextCol = getNextColumnUp(); int position = fromPosition; while (nextCol >= 0 && mItemTops[nextCol] > fillTo && position >= 0) { // make sure the nextCol is correct. check to see if has been mapped // otherwise stick to getNextColumnUp() if (!mColMappings.get(nextCol).contains((Integer) position)) { for (int i = 0; i < mColMappings.size(); i++) { if (mColMappings.get(i).contains((Integer) position)) { nextCol = i; break; } } } // displayMapping(); final View child = obtainView(position, null); if (child == null) continue; LayoutParams lp = (LayoutParams) child.getLayoutParams(); if (lp == null) { lp = this.generateDefaultLayoutParams(); child.setLayoutParams(lp); } if (child.getParent() != this) { if (mInLayout) { addViewInLayout(child, 0, lp); } else { addView(child, 0); } } final int span = Math.min(mColCount, lp.span); final int widthSize = colWidth * span; final int widthSpec = MeasureSpec.makeMeasureSpec(widthSize, MeasureSpec.EXACTLY); LayoutRecord rec; if (span > 1) { rec = getNextRecordUp(position, span); // nextCol = rec.column; } else { rec = mLayoutRecords.get(position); } boolean invalidateBefore = false; if (rec == null) { rec = new LayoutRecord(); mLayoutRecords.put(position, rec); rec.column = nextCol; rec.span = span; } else if (span != rec.span) { rec.span = span; rec.column = nextCol; invalidateBefore = true; } else { // nextCol = rec.column; } if (mHasStableIds) { final long id = mAdapter.getItemId(position); rec.id = id; lp.id = id; } lp.column = nextCol; final int heightSpec; if (lp.height == LayoutParams.WRAP_CONTENT) { heightSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED); } else { heightSpec = MeasureSpec.makeMeasureSpec(lp.height, MeasureSpec.EXACTLY); } child.measure(widthSpec, heightSpec); final int childHeight = child.getMeasuredHeight(); if (invalidateBefore || (childHeight != rec.height && rec.height > 0)) { invalidateLayoutRecordsBeforePosition(position); } rec.height = childHeight; // int itemTop = mItemTops[nextCol]; final int startFrom; if (span > 1) { int highest = mItemTops[nextCol]; for (int i = nextCol + 1; i < nextCol + span; i++) { final int top = mItemTops[i]; if (top < highest) { highest = top; } } startFrom = highest; } else { startFrom = mItemTops[nextCol]; } int childBottom = startFrom; int childTop = childBottom - childHeight; final int childLeft = paddingLeft + nextCol * (colWidth); final int childRight = childLeft + child.getMeasuredWidth(); // if(position == 0){ // if(this.getChildCount()>1 && this.mColCount>1){ // childTop = this.getChildAt(1).getTop(); // childBottom = childTop + childHeight; // } // } child.layout(childLeft, childTop, childRight, childBottom); for (int i = nextCol; i < nextCol + span; i++) { mItemTops[i] = childTop - rec.getMarginAbove(i - nextCol); } nextCol = getNextColumnUp(); mFirstPosition = position--; } int highestView = getHeight(); for (int i = 0; i < mColCount; i++) { final View child = getFirstChildAtColumn(i); if (child == null) { highestView = 0; break; } final int top = child.getTop(); if (top < highestView) { highestView = top; } } return gridTop - highestView; }
From source file:com.roiland.crm.sm.ui.view.ScOppoInfoFragment.java
/** * /* www . ja va 2 s.c o m*/ * <pre> * ? * </pre> * */ public void refreshCustList() { if (mCustomInfo != null && customerInfoAdapter != null) { mCustomInfo.removeAllViews(); for (int i = 0; i < customerInfoAdapter.getCount(); i++) { mCustomInfo.addView(customerInfoAdapter.getView(i, null, null)); View dividerView = new View(getActivity()); dividerView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 1)); dividerView.setBackgroundColor(getResources().getColor(R.color.list_divider)); mCustomInfo.addView(dividerView); } if (project != null && project.getCustomer() != null && !StringUtils.isEmpty(project.getCustomer().getProvince()) && custFlag) { BaseInfoRowViewItem item = (BaseInfoRowViewItem) mCustomInfo.findViewWithTag(addressInfoList[1]); if (item != null) item.setParentKey(project.getCustomer().getProvinceCode()); } if (project != null && project.getCustomer() != null && !StringUtils.isEmpty(project.getCustomer().getCity()) && custFlag) { BaseInfoRowViewItem item = (BaseInfoRowViewItem) mCustomInfo.findViewWithTag(addressInfoList[2]); if (item != null) item.setParentKey(project.getCustomer().getProvinceCode()); item.setParentKey2(project.getCustomer().getCityCode()); } } }
From source file:com.roiland.crm.sm.ui.view.ScOppoInfoFragment.java
/** * // ww w . j av a 2 s.c o m * <pre> * ? * </pre> * */ private void refreshCarList() { if (mCarInfo != null && carInfoAdapter != null) { mCarInfo.removeAllViews(); for (int i = 0; i < carInfoAdapter.getCount(); i++) { mCarInfo.addView(carInfoAdapter.getView(i, null, null)); View dividerView = new View(getActivity()); dividerView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 1)); dividerView.setBackgroundColor(getResources().getColor(R.color.list_divider)); mCarInfo.addView(dividerView); } if (project != null && project.getPurchaseCarIntention() != null && !StringUtils.isEmpty(project.getPurchaseCarIntention().getBrand())) { for (int i = 1; i < 5; i++) { BaseInfoRowViewItem item = (BaseInfoRowViewItem) mCarInfo.findViewWithTag(carInfoStrList1[i]); if (item != null) item.setParentKey(project.getPurchaseCarIntention().getBrandCode()); } } if (project != null && project.getPurchaseCarIntention() != null && !StringUtils.isEmpty(project.getPurchaseCarIntention().getModel())) { BaseInfoRowViewItem item = (BaseInfoRowViewItem) mCarInfo.findViewWithTag(carInfoStrList1[4]); if (item != null) item.setParentKey2(project.getPurchaseCarIntention().getModelCode()); } } }
From source file:com.bolaa.medical.view.pulltorefreshgrid.StaggeredGridView.java
/** * Should be called with mPopulating set to true * * @param fromPosition Position to start filling from * @param overhang the number of extra pixels to fill beyond the current bottom edge * @return the max overhang beyond the end of the view of any added items at the bottom *//*from www . j av a 2 s . com*/ final int fillDown(int fromPosition, int overhang) { final int paddingLeft = getPaddingLeft(); final int paddingRight = getPaddingRight(); final int itemMargin = mItemMargin; final int colWidth = (getWidth() - paddingLeft - paddingRight - itemMargin * (mColCount - 1)) / mColCount; final int gridBottom = getHeight() - getPaddingBottom(); final int fillTo = gridBottom + overhang; int nextCol = getNextColumnDown(fromPosition); int position = fromPosition; while (nextCol >= 0 && mItemBottoms[nextCol] < fillTo && position < mItemCount) { final View child = obtainView(position, null); if (child == null) continue; LayoutParams lp = (LayoutParams) child.getLayoutParams(); if (lp == null) { lp = this.generateDefaultLayoutParams(); child.setLayoutParams(lp); } if (child.getParent() != this) { if (mInLayout) { addViewInLayout(child, -1, lp); } else { ViewParent parent = child.getParent(); if (parent != null && parent instanceof ViewGroup) { ((ViewGroup) parent).removeView(child); } addView(child); } } final int span = Math.min(mColCount, lp.span); final int widthSize = colWidth * span + itemMargin * (span - 1); final int widthSpec = MeasureSpec.makeMeasureSpec(widthSize, MeasureSpec.EXACTLY); LayoutRecord rec; if (span > 1) { rec = getNextRecordDown(position, span); // nextCol = rec.column; nextCol = 0; } else { rec = mLayoutRecords.get(position); } boolean invalidateAfter = false; if (rec == null) { rec = new LayoutRecord(); mLayoutRecords.put(position, rec); rec.column = nextCol; rec.span = span; } else if (span != rec.span) { rec.span = span; rec.column = nextCol; invalidateAfter = true; } else { // nextCol = rec.column; } if (mHasStableIds) { final long id = mAdapter.getItemId(position); rec.id = id; lp.id = id; } lp.column = nextCol; /** * Magic does not exist */ // child.measure(MeasureSpec.EXACTLY, MeasureSpec.UNSPECIFIED); final int heightSpec; if (lp.height == LayoutParams.WRAP_CONTENT) { heightSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED); } else { heightSpec = MeasureSpec.makeMeasureSpec(lp.height, MeasureSpec.EXACTLY); } child.measure(widthSpec, heightSpec); final int childHeight = child.getMeasuredHeight(); if (invalidateAfter || (childHeight != rec.height && rec.height > 0)) { invalidateLayoutRecordsAfterPosition(position); } rec.height = childHeight; final int startFrom; if (span > 1) { int lowest = mItemBottoms[nextCol]; // final int colEnd = Math.min(mColCount, nextCol + lp.span); // Only for span = maxCol for (int i = 0; i < mColCount; i++) { final int bottom = mItemBottoms[i]; if (bottom > lowest) { lowest = bottom; } } startFrom = lowest; } else { startFrom = mItemBottoms[nextCol]; } final int childTop = startFrom + itemMargin; final int childBottom = childTop + childHeight; final int childLeft; if (span > 1) { childLeft = paddingLeft; } else { childLeft = paddingLeft + nextCol * (colWidth + itemMargin); } final int childRight = childLeft + child.getMeasuredWidth(); child.layout(childLeft, childTop, childRight, childBottom); rec.left = childLeft; rec.top = childTop; rec.right = childRight; rec.bottom = childBottom; rec.hasRecRecord = true; // add the position to the mapping if (!mColMappings.get(nextCol).contains(position)) { // check to see if the mapping exists in other columns // this would happen if list has been updated for (ArrayList<Integer> list : mColMappings) { if (list.contains(position)) { list.remove((Integer) position); } } mColMappings.get(nextCol).add(position); } final int colEnd = Math.min(mColCount, nextCol + lp.span); for (int i = nextCol; i < colEnd; i++) { mItemBottoms[i] = childBottom + rec.getMarginBelow(i - nextCol); } position++; nextCol = getNextColumnDown(position); } int lowestView = 0; for (int i = 0; i < mColCount; i++) { if (mItemBottoms[i] > lowestView) { lowestView = mItemBottoms[i]; } } return lowestView - gridBottom; }