Search in sources :

Example 41 with LayoutParams

use of android.support.v7.widget.StaggeredGridLayoutManager.LayoutParams in project vlayout by alibaba.

the class StaggeredGridLayoutHelper method recycleFromEnd.

private void recycleFromEnd(RecyclerView.Recycler recycler, int line, LayoutManagerHelper helper) {
    final OrientationHelper orientationHelper = helper.getMainOrientationHelper();
    final int childCount = helper.getChildCount();
    int i;
    for (i = childCount - 1; i >= 0; i--) {
        View child = helper.getChildAt(i);
        if (child != null && orientationHelper.getDecoratedStart(child) > line) {
            LayoutParams lp = (LayoutParams) child.getLayoutParams();
            int position = lp.getViewPosition();
            Span span = findSpan(position, child, false);
            if (span != null) {
                span.popEnd(orientationHelper);
                helper.removeChildView(child);
                recycler.recycleView(child);
            }
        } else {
            // done
            return;
        }
    }
}
Also used : LayoutParams(android.support.v7.widget.RecyclerView.LayoutParams) OrientationHelper(android.support.v7.widget.OrientationHelper) RecyclerView(android.support.v7.widget.RecyclerView) View(android.view.View)

Example 42 with LayoutParams

use of android.support.v7.widget.StaggeredGridLayoutManager.LayoutParams in project android by nextcloud.

the class ExtendedListFragment method onCreateView.

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    Log_OC.d(TAG, "onCreateView");
    View v = inflater.inflate(R.layout.list_fragment, null);
    setupEmptyList(v);
    mRecyclerView = v.findViewById(R.id.list_root);
    mRecyclerView.setHasFooter(true);
    mRecyclerView.setEmptyView(v.findViewById(R.id.empty_list_view));
    mRecyclerView.setHasFixedSize(true);
    mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
    mScale = PreferenceManager.getGridColumns(getContext());
    setGridViewColumns(1f);
    mScaleGestureDetector = new ScaleGestureDetector(MainApp.getAppContext(), new ScaleListener());
    getRecyclerView().setOnTouchListener((view, motionEvent) -> {
        mScaleGestureDetector.onTouchEvent(motionEvent);
        if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
            view.performClick();
        }
        return false;
    });
    // Pull-down to refresh layout
    mRefreshListLayout = v.findViewById(R.id.swipe_containing_list);
    onCreateSwipeToRefresh(mRefreshListLayout);
    mFabMain = v.findViewById(R.id.fab_main);
    mFabUpload = v.findViewById(R.id.fab_upload);
    mFabMkdir = v.findViewById(R.id.fab_mkdir);
    mFabUploadFromApp = v.findViewById(R.id.fab_upload_from_app);
    applyFABTheming();
    boolean searchSupported = AccountUtils.hasSearchSupport(AccountUtils.getCurrentOwnCloudAccount(MainApp.getAppContext()));
    if (getResources().getBoolean(R.bool.bottom_toolbar_enabled) && searchSupported) {
        RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) mFabMain.getLayoutParams();
        final float scale = v.getResources().getDisplayMetrics().density;
        BottomNavigationView bottomNavigationView = v.findViewById(R.id.bottom_navigation_view);
        // convert the DP into pixel
        int pixel = (int) (32 * scale + 0.5f);
        layoutParams.setMargins(0, 0, pixel / 2, bottomNavigationView.getMeasuredHeight() + pixel * 2);
    }
    return v;
}
Also used : BottomNavigationView(android.support.design.widget.BottomNavigationView) RelativeLayout(android.widget.RelativeLayout) ScaleGestureDetector(android.view.ScaleGestureDetector) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) GridView(android.widget.GridView) SearchView(android.support.v7.widget.SearchView) ImageView(android.widget.ImageView) View(android.view.View) AdapterView(android.widget.AdapterView) TextView(android.widget.TextView) EmptyRecyclerView(com.owncloud.android.ui.EmptyRecyclerView) BottomNavigationView(android.support.design.widget.BottomNavigationView) RecyclerView(android.support.v7.widget.RecyclerView)

Example 43 with LayoutParams

use of android.support.v7.widget.StaggeredGridLayoutManager.LayoutParams in project BookReader by JustWayward.

the class RecyclerArrayAdapter method createSpViewByType.

private View createSpViewByType(ViewGroup parent, int viewType) {
    for (ItemView headerView : headers) {
        if (headerView.hashCode() == viewType) {
            View view = headerView.onCreateView(parent);
            StaggeredGridLayoutManager.LayoutParams layoutParams;
            if (view.getLayoutParams() != null)
                layoutParams = new StaggeredGridLayoutManager.LayoutParams(view.getLayoutParams());
            else
                layoutParams = new StaggeredGridLayoutManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
            layoutParams.setFullSpan(true);
            view.setLayoutParams(layoutParams);
            return view;
        }
    }
    for (ItemView footerview : footers) {
        if (footerview.hashCode() == viewType) {
            View view = footerview.onCreateView(parent);
            StaggeredGridLayoutManager.LayoutParams layoutParams;
            if (view.getLayoutParams() != null)
                layoutParams = new StaggeredGridLayoutManager.LayoutParams(view.getLayoutParams());
            else
                layoutParams = new StaggeredGridLayoutManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
            layoutParams.setFullSpan(true);
            view.setLayoutParams(layoutParams);
            return view;
        }
    }
    return null;
}
Also used : StaggeredGridLayoutManager(android.support.v7.widget.StaggeredGridLayoutManager) RecyclerView(android.support.v7.widget.RecyclerView) View(android.view.View) EasyRecyclerView(com.justwayward.reader.view.recyclerview.EasyRecyclerView)

Example 44 with LayoutParams

use of android.support.v7.widget.StaggeredGridLayoutManager.LayoutParams in project android_frameworks_base by AOSPA.

the class NavBarTuner method inflatePreview.

private void inflatePreview(ViewGroup view) {
    Display display = getActivity().getWindowManager().getDefaultDisplay();
    boolean isRotated = display.getRotation() == Surface.ROTATION_90 || display.getRotation() == Surface.ROTATION_270;
    Configuration config = new Configuration(getContext().getResources().getConfiguration());
    boolean isPhoneLandscape = isRotated && (config.smallestScreenWidthDp < 600);
    final float scale = isPhoneLandscape ? PREVIEW_SCALE_LANDSCAPE : PREVIEW_SCALE;
    config.densityDpi = (int) (config.densityDpi * scale);
    mPreview = (PreviewNavInflater) LayoutInflater.from(getContext().createConfigurationContext(config)).inflate(R.layout.nav_bar_tuner_inflater, view, false);
    final ViewGroup.LayoutParams layoutParams = mPreview.getLayoutParams();
    layoutParams.width = (int) ((isPhoneLandscape ? display.getHeight() : display.getWidth()) * scale);
    // Not sure why, but the height dimen is not being scaled with the dp, set it manually
    // for now.
    layoutParams.height = (int) (layoutParams.height * scale);
    if (isPhoneLandscape) {
        int width = layoutParams.width;
        layoutParams.width = layoutParams.height;
        layoutParams.height = width;
    }
    view.addView(mPreview);
    if (isRotated) {
        mPreview.findViewById(R.id.rot0).setVisibility(View.GONE);
        final View rot90 = mPreview.findViewById(R.id.rot90);
    } else {
        mPreview.findViewById(R.id.rot90).setVisibility(View.GONE);
        final View rot0 = mPreview.findViewById(R.id.rot0);
    }
}
Also used : Configuration(android.content.res.Configuration) ViewGroup(android.view.ViewGroup) ImageView(android.widget.ImageView) View(android.view.View) TextView(android.widget.TextView) RecyclerView(android.support.v7.widget.RecyclerView) Display(android.view.Display)

Example 45 with LayoutParams

use of android.support.v7.widget.StaggeredGridLayoutManager.LayoutParams in project LeafPic by HoraApps.

the class SelectAlbumBuilder method setupDialog.

@Override
public void setupDialog(Dialog dialog, int style) {
    super.setupDialog(dialog, style);
    View contentView = View.inflate(getContext(), R.layout.select_folder_bottom_sheet, null);
    final RecyclerView mRecyclerView = contentView.findViewById(R.id.folders);
    final Spinner spinner = contentView.findViewById(R.id.storage_spinner);
    currentFolderPath = contentView.findViewById(R.id.bottom_sheet_sub_title);
    exploreModePanel = contentView.findViewById(R.id.ll_explore_mode_panel);
    imgExploreMode = contentView.findViewById(R.id.toggle_hidden_icon);
    theme = ThemeHelper.getInstanceLoaded(getContext());
    sdCardPath = StorageHelper.getSdcardPath(getContext());
    mRecyclerView.setLayoutManager(new GridLayoutManager(getContext(), 2));
    mRecyclerView.addItemDecoration(new GridSpacingItemDecoration(2, Measure.pxToDp(3, getContext()), true));
    adapter = new BottomSheetAlbumsAdapter();
    mRecyclerView.setAdapter(adapter);
    spinner.setAdapter(new VolumeSpinnerAdapter(contentView.getContext()));
    spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int pos, long l) {
            switch(pos) {
                case INTERNAL_STORAGE:
                    displayContentFolder(Environment.getExternalStorageDirectory());
                    break;
                default:
                    // }
                    break;
            }
        }

        @Override
        public void onNothingSelected(AdapterView<?> adapterView) {
        }
    });
    /**
     *SET UP THEME*
     */
    contentView.findViewById(R.id.rl_bottom_sheet_title).setBackgroundColor(theme.getPrimaryColor());
    exploreModePanel.setBackgroundColor(theme.getPrimaryColor());
    contentView.findViewById(R.id.ll_select_folder).setBackgroundColor(theme.getCardBackgroundColor());
    theme.setColorScrollBarDrawable(ContextCompat.getDrawable(dialog.getContext(), R.drawable.ic_scrollbar));
    mRecyclerView.setBackgroundColor(theme.getBackgroundColor());
    fabDone = contentView.findViewById(R.id.fab_bottomsheet_done);
    fabDone.setBackgroundTintList(ColorStateList.valueOf(theme.getAccentColor()));
    fabDone.setImageDrawable(new IconicsDrawable(getContext()).icon(GoogleMaterial.Icon.gmd_done).color(Color.WHITE));
    fabDone.setVisibility(exploreMode ? View.VISIBLE : View.GONE);
    fabDone.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            dismiss();
            onFolderSelected.folderSelected(currentFolderPath.getText().toString());
        }
    });
    ((TextView) contentView.findViewById(R.id.bottom_sheet_title)).setText(title);
    ((ThemedIcon) contentView.findViewById(R.id.create_new_folder_icon)).setColor(theme.getIconColor());
    contentView.findViewById(R.id.rl_create_new_folder).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            final EditText editText = new EditText(getContext());
            AlertDialog insertTextDialog = AlertDialogsHelper.getInsertTextDialog(((ThemedActivity) getActivity()), editText, R.string.new_folder);
            insertTextDialog.setButton(DialogInterface.BUTTON_POSITIVE, getString(R.string.ok_action).toUpperCase(), new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    File folderPath = new File(currentFolderPath.getText().toString() + File.separator + editText.getText().toString());
                    if (folderPath.mkdir())
                        displayContentFolder(folderPath);
                }
            });
            insertTextDialog.setButton(DialogInterface.BUTTON_NEGATIVE, getString(R.string.cancel).toUpperCase(), new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                }
            });
            insertTextDialog.show();
        }
    });
    contentView.findViewById(R.id.rl_bottom_sheet_title).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (!forzed) {
                toggleExplorerMode(!exploreMode);
                fabDone.setVisibility(exploreMode ? View.VISIBLE : View.GONE);
            }
        }
    });
    dialog.setContentView(contentView);
    CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams) ((View) contentView.getParent()).getLayoutParams();
    CoordinatorLayout.Behavior behavior = layoutParams.getBehavior();
    if (behavior != null && behavior instanceof BottomSheetBehavior) {
        ((BottomSheetBehavior) behavior).setBottomSheetCallback(mBottomSheetBehaviorCallback);
    }
    adapter.notifyDataSetChanged();
    toggleExplorerMode(exploreMode);
}
Also used : AlertDialog(android.support.v7.app.AlertDialog) DialogInterface(android.content.DialogInterface) Spinner(android.widget.Spinner) BottomSheetBehavior(android.support.design.widget.BottomSheetBehavior) TextView(android.widget.TextView) IconicsDrawable(com.mikepenz.iconics.IconicsDrawable) EditText(android.widget.EditText) ImageView(android.widget.ImageView) View(android.view.View) AdapterView(android.widget.AdapterView) RecyclerView(android.support.v7.widget.RecyclerView) TextView(android.widget.TextView) CoordinatorLayout(android.support.design.widget.CoordinatorLayout) GridLayoutManager(android.support.v7.widget.GridLayoutManager) ThemedIcon(org.horaapps.liz.ui.ThemedIcon) RecyclerView(android.support.v7.widget.RecyclerView) AdapterView(android.widget.AdapterView) File(java.io.File) GridSpacingItemDecoration(org.horaapps.leafpic.views.GridSpacingItemDecoration)

Aggregations

View (android.view.View)138 RecyclerView (android.support.v7.widget.RecyclerView)128 TextView (android.widget.TextView)52 ImageView (android.widget.ImageView)36 LinearLayout (android.widget.LinearLayout)32 ViewGroup (android.view.ViewGroup)31 LayoutParams (android.support.v7.widget.RecyclerView.LayoutParams)16 StaggeredGridLayoutManager (android.support.v7.widget.StaggeredGridLayoutManager)15 FrameLayout (android.widget.FrameLayout)15 LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)13 Paint (android.graphics.Paint)12 RelativeLayout (android.widget.RelativeLayout)12 BindView (butterknife.BindView)12 Rect (android.graphics.Rect)11 Toolbar (android.support.v7.widget.Toolbar)11 EditText (android.widget.EditText)10 DialogInterface (android.content.DialogInterface)9 Handler (android.os.Handler)9 AdapterView (android.widget.AdapterView)9 Intent (android.content.Intent)8