Example usage for android.widget RelativeLayout ALIGN_PARENT_TOP

List of usage examples for android.widget RelativeLayout ALIGN_PARENT_TOP

Introduction

In this page you can find the example usage for android.widget RelativeLayout ALIGN_PARENT_TOP.

Prototype

int ALIGN_PARENT_TOP

To view the source code for android.widget RelativeLayout ALIGN_PARENT_TOP.

Click Source Link

Document

Rule that aligns the child's top edge with its RelativeLayout parent's top edge.

Usage

From source file:com.csipsimple.ui.incall.CallActivity.java

@SuppressWarnings("deprecation")
private void attachVideoPreview() {
    // Video stuff
    if (prefsWrapper.getPreferenceBooleanValue(SipConfigManager.USE_VIDEO)) {
        if (cameraPreview == null) {
            Log.d(TAG, "Create Local Renderer");
            cameraPreview = ViERenderer.CreateLocalRenderer(this);
            RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(256, 256);
            //lp.leftMargin = 2;
            //lp.topMargin= 4;
            lp.addRule(RelativeLayout.ALIGN_PARENT_TOP, RelativeLayout.TRUE);
            cameraPreview.setVisibility(View.GONE);
            mainFrame.addView(cameraPreview, lp);
        } else {/*from   www.  j  a  v a  2  s.  c  om*/
            Log.d(TAG, "NO NEED TO Create Local Renderer");
        }

        if (videoWakeLock == null) {
            videoWakeLock = powerManager.newWakeLock(
                    PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP,
                    "com.csipsimple.videoCall");
            videoWakeLock.setReferenceCounted(false);
        }
    }

    if (videoWakeLock != null && videoWakeLock.isHeld()) {
        videoWakeLock.release();
    }
}

From source file:de.mrapp.android.dialog.decorator.MaterialDialogDecorator.java

/**
 * Creates and returns the layout params, which should be used by the dialog's root view.
 *
 * @return The layout params, which have been created, as an instance of the class {@link
 * RelativeLayout.LayoutParams}/*from w  w w .  jav  a2  s  .c  o m*/
 */
private RelativeLayout.LayoutParams createLayoutParams() {
    Rect windowDimensions = new Rect();
    Window window = getWindow();
    assert window != null;
    window.getDecorView().getWindowVisibleDisplayFrame(windowDimensions);
    int shadowWidth = isFullscreen() ? 0
            : getContext().getResources().getDimensionPixelSize(R.dimen.dialog_shadow_width);
    int leftInset = isFitsSystemWindowsLeft() && isFullscreen() && windowInsets != null ? windowInsets.left : 0;
    int topInset = isFitsSystemWindowsTop() && isFullscreen() && windowInsets != null ? windowInsets.top : 0;
    int rightInset = isFitsSystemWindowsRight() && isFullscreen() && windowInsets != null ? windowInsets.right
            : 0;
    int bottomInset = isFitsSystemWindowsBottom() && isFullscreen() && windowInsets != null
            ? windowInsets.bottom
            : 0;
    int leftMargin = getLeftMargin() - shadowWidth + leftInset;
    int topMargin = getTopMargin() - shadowWidth + topInset;
    int rightMargin = getRightMargin() - shadowWidth + rightInset;
    int bottomMargin = getBottomMargin() - shadowWidth + bottomInset;
    int width = getLayoutDimension(getWidth(), leftMargin + rightMargin, windowDimensions.right);
    int height = getLayoutDimension(getHeight(), topMargin + bottomMargin, windowDimensions.bottom);
    RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(width, height);
    layoutParams.leftMargin = leftMargin;
    layoutParams.topMargin = topMargin;
    layoutParams.rightMargin = rightMargin;
    layoutParams.bottomMargin = bottomMargin;

    if ((getGravity() & Gravity.CENTER_HORIZONTAL) == Gravity.CENTER_HORIZONTAL) {
        layoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);
    }

    if ((getGravity() & Gravity.CENTER_VERTICAL) == Gravity.CENTER_VERTICAL) {
        layoutParams.addRule(RelativeLayout.CENTER_VERTICAL, RelativeLayout.TRUE);
    }

    if ((getGravity() & Gravity.LEFT) == Gravity.LEFT) {
        layoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
    }

    if ((getGravity() & Gravity.TOP) == Gravity.TOP) {
        layoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP, RelativeLayout.TRUE);
    }

    if ((getGravity() & Gravity.RIGHT) == Gravity.RIGHT) {
        layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, RelativeLayout.TRUE);
    }

    if ((getGravity() & Gravity.BOTTOM) == Gravity.BOTTOM) {
        layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);
    }

    return layoutParams;
}

From source file:org.odk.collect.android.views.MediaLayout.java

public void setAVT(FormIndex index, String selectionDesignator, TextView text, String audioURI, String imageURI,
        String videoURI, final String bigImageURI) {
    this.selectionDesignator = selectionDesignator;
    this.index = index;
    viewText = text;//w  ww  .  j  a  v  a  2  s .co m
    originalText = text.getText();
    viewText.setId(ViewIds.generateViewId());
    this.videoURI = videoURI;

    // Layout configurations for our elements in the relative layout
    RelativeLayout.LayoutParams textParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
            LayoutParams.WRAP_CONTENT);
    RelativeLayout.LayoutParams audioParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
            LayoutParams.WRAP_CONTENT);
    RelativeLayout.LayoutParams imageParams = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,
            LayoutParams.WRAP_CONTENT);
    RelativeLayout.LayoutParams videoParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
            LayoutParams.WRAP_CONTENT);

    // First set up the audio button
    if (audioURI != null) {
        // An audio file is specified
        audioButton = new AudioButton(getContext(), this.index, this.selectionDesignator, audioURI, player);
        audioButton.setPadding(22, 12, 22, 12);
        audioButton.setBackgroundColor(Color.LTGRAY);
        audioButton.setOnClickListener(this);
        audioButton.setId(ViewIds.generateViewId()); // random ID to be used by the
        // relative layout.
    } else {
        // No audio file specified, so ignore.
    }

    // Then set up the video button
    if (videoURI != null) {
        // An video file is specified
        videoButton = new AppCompatImageButton(getContext());
        Bitmap b = BitmapFactory.decodeResource(getContext().getResources(), android.R.drawable.ic_media_play);
        videoButton.setImageBitmap(b);
        videoButton.setPadding(22, 12, 22, 12);
        videoButton.setBackgroundColor(Color.LTGRAY);
        videoButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Collect.getInstance().getActivityLogger().logInstanceAction(this, "onClick",
                        "playVideoPrompt" + MediaLayout.this.selectionDesignator, MediaLayout.this.index);
                MediaLayout.this.playVideo();
            }

        });
        videoButton.setId(ViewIds.generateViewId());
    } else {
        // No video file specified, so ignore.
    }

    // Now set up the image view
    String errorMsg = null;
    final int imageId = ViewIds.generateViewId();
    if (imageURI != null) {
        try {
            String imageFilename = ReferenceManager.instance().DeriveReference(imageURI).getLocalURI();
            final File imageFile = new File(imageFilename);
            if (imageFile.exists()) {
                DisplayMetrics metrics = context.getResources().getDisplayMetrics();
                int screenWidth = metrics.widthPixels;
                int screenHeight = metrics.heightPixels;
                Bitmap b = FileUtils.getBitmapScaledToDisplay(imageFile, screenHeight, screenWidth);
                if (b != null) {
                    imageView = new ImageView(getContext());
                    imageView.setPadding(2, 2, 2, 2);
                    imageView.setImageBitmap(b);
                    imageView.setId(imageId);

                    imageView.setOnClickListener(new OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            if (bigImageURI != null) {
                                Collect.getInstance().getActivityLogger().logInstanceAction(this, "onClick",
                                        "showImagePromptBigImage" + MediaLayout.this.selectionDesignator,
                                        MediaLayout.this.index);

                                try {
                                    File bigImage = new File(ReferenceManager.instance()
                                            .DeriveReference(bigImageURI).getLocalURI());

                                    Intent i = new Intent("android.intent.action.VIEW");
                                    i.setDataAndType(Uri.fromFile(bigImage), "image/*");
                                    getContext().startActivity(i);
                                } catch (InvalidReferenceException e) {
                                    Timber.e(e, "Invalid image reference due to %s ", e.getMessage());
                                } catch (ActivityNotFoundException e) {
                                    Timber.d(e, "No Activity found to handle due to %s", e.getMessage());
                                    ToastUtils.showShortToast(
                                            getContext().getString(R.string.activity_not_found, "view image"));
                                }
                            } else {
                                if (viewText instanceof RadioButton) {
                                    ((RadioButton) viewText).setChecked(true);
                                } else if (viewText instanceof CheckBox) {
                                    CheckBox checkbox = (CheckBox) viewText;
                                    checkbox.setChecked(!checkbox.isChecked());
                                }
                            }
                        }
                    });
                } else {
                    // Loading the image failed, so it's likely a bad file.
                    errorMsg = getContext().getString(R.string.file_invalid, imageFile);
                }
            } else {
                // We should have an image, but the file doesn't exist.
                errorMsg = getContext().getString(R.string.file_missing, imageFile);
            }

            if (errorMsg != null) {
                // errorMsg is only set when an error has occurred
                Timber.e(errorMsg);
                missingImage = new TextView(getContext());
                missingImage.setText(errorMsg);
                missingImage.setPadding(10, 10, 10, 10);
                missingImage.setId(imageId);
            }
        } catch (InvalidReferenceException e) {
            Timber.e(e, "Invalid image reference due to %s ", e.getMessage());
        }
    } else {
        // There's no imageURI listed, so just ignore it.
    }

    // e.g., for TextView that flag will be true
    boolean isNotAMultipleChoiceField = !RadioButton.class.isAssignableFrom(text.getClass())
            && !CheckBox.class.isAssignableFrom(text.getClass());

    // Determine the layout constraints...
    // Assumes LTR, TTB reading bias!
    if (viewText.getText().length() == 0 && (imageView != null || missingImage != null)) {
        // No text; has image. The image is treated as question/choice icon.
        // The Text view may just have a radio button or checkbox. It
        // needs to remain in the layout even though it is blank.
        //
        // The image view, as created above, will dynamically resize and
        // center itself. We want it to resize but left-align itself
        // in the resized area and we want a white background, as otherwise
        // it will show a grey bar to the right of the image icon.
        if (imageView != null) {
            imageView.setScaleType(ScaleType.FIT_START);
        }
        //
        // In this case, we have:
        // Text upper left; image upper, left edge aligned with text right edge;
        // audio upper right; video below audio on right.
        textParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
        textParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
        if (isNotAMultipleChoiceField) {
            imageParams.addRule(RelativeLayout.CENTER_HORIZONTAL);
        } else {
            imageParams.addRule(RelativeLayout.RIGHT_OF, viewText.getId());
        }
        imageParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
        if (audioButton != null && videoButton == null) {
            audioParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
            audioParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
            audioParams.setMargins(0, 0, 11, 0);
            imageParams.addRule(RelativeLayout.LEFT_OF, audioButton.getId());
        } else if (audioButton == null && videoButton != null) {
            videoParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
            videoParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
            videoParams.setMargins(0, 0, 11, 0);
            imageParams.addRule(RelativeLayout.LEFT_OF, videoButton.getId());
        } else if (audioButton != null && videoButton != null) {
            audioParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
            audioParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
            audioParams.setMargins(0, 0, 11, 0);
            imageParams.addRule(RelativeLayout.LEFT_OF, audioButton.getId());
            videoParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
            videoParams.addRule(RelativeLayout.BELOW, audioButton.getId());
            videoParams.setMargins(0, 20, 11, 0);
            imageParams.addRule(RelativeLayout.LEFT_OF, videoButton.getId());
        } else {
            // the image will implicitly scale down to fit within parent...
            // no need to bound it by the width of the parent...
            if (!isNotAMultipleChoiceField) {
                imageParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
            }
        }
        imageParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
    } else {
        // We have a non-blank text label -- image is below the text.
        // In this case, we want the image to be centered...
        if (imageView != null) {
            imageView.setScaleType(ScaleType.FIT_START);
        }
        //
        // Text upper left; audio upper right; video below audio on right.
        // image below text, audio and video buttons; left-aligned with text.
        textParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
        textParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
        if (audioButton != null && videoButton == null) {
            audioParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
            audioParams.setMargins(0, 0, 11, 0);
            textParams.addRule(RelativeLayout.LEFT_OF, audioButton.getId());
        } else if (audioButton == null && videoButton != null) {
            videoParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
            videoParams.setMargins(0, 0, 11, 0);
            textParams.addRule(RelativeLayout.LEFT_OF, videoButton.getId());
        } else if (audioButton != null && videoButton != null) {
            audioParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
            audioParams.setMargins(0, 0, 11, 0);
            textParams.addRule(RelativeLayout.LEFT_OF, audioButton.getId());
            videoParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
            videoParams.setMargins(0, 20, 11, 0);
            videoParams.addRule(RelativeLayout.BELOW, audioButton.getId());
        } else {
            textParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
        }

        if (imageView != null || missingImage != null) {
            imageParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
            imageParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
            if (videoButton != null) {
                imageParams.addRule(RelativeLayout.LEFT_OF, videoButton.getId());
            } else if (audioButton != null) {
                imageParams.addRule(RelativeLayout.LEFT_OF, audioButton.getId());
            }
            imageParams.addRule(RelativeLayout.BELOW, viewText.getId());
        } else {
            textParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
        }
    }

    addView(viewText, textParams);
    if (audioButton != null) {
        addView(audioButton, audioParams);
    }
    if (videoButton != null) {
        addView(videoButton, videoParams);
    }
    if (imageView != null) {
        addView(imageView, imageParams);
    } else if (missingImage != null) {
        addView(missingImage, imageParams);
    }
}

From source file:com.cranberrygame.cordova.plugin.ad.admob.Util.java

protected void addBannerViewOverlap(String position, String size) {
    if (bannerViewLayout == null) {
        bannerViewLayout = new RelativeLayout(plugin.getCordova().getActivity());//   
        RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
                RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);
        bannerViewLayout.setLayoutParams(params);
        //plugin.getWebView().addView(bannerViewLayout, params);
        //plugin.getWebView().addView(bannerViewLayout);//only for ~cordova4
        //((ViewGroup)plugin.getWebView().getRootView()).addView(bannerViewLayout);//only for ~cordova4
        //((ViewGroup)plugin.getWebView().getView()).addView(bannerViewLayout);//only for cordova5~
        ((ViewGroup) getView(plugin.getWebView())).addView(bannerViewLayout);
    }//from   w  w w  . j  a  v  a 2 s  .c  o  m

    //http://tigerwoods.tistory.com/11
    //http://developer.android.com/reference/android/widget/RelativeLayout.html
    //http://stackoverflow.com/questions/24900725/admob-banner-poitioning-in-android-on-bottom-of-the-screen-using-no-xml-relative
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(AdView.LayoutParams.WRAP_CONTENT,
            AdView.LayoutParams.WRAP_CONTENT);
    if (position.equals("top-left")) {
        Log.d(LOG_TAG, "top-left");
        params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
        params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
    } else if (position.equals("top-center")) {
        params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
        params.addRule(RelativeLayout.CENTER_HORIZONTAL);
    } else if (position.equals("top-right")) {
        params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
        params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
    } else if (position.equals("left")) {
        params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
        params.addRule(RelativeLayout.CENTER_VERTICAL);
    } else if (position.equals("center")) {
        params.addRule(RelativeLayout.CENTER_HORIZONTAL);
        params.addRule(RelativeLayout.CENTER_VERTICAL);
    } else if (position.equals("right")) {
        params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
        params.addRule(RelativeLayout.CENTER_VERTICAL);
    } else if (position.equals("bottom-left")) {
        params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
        params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
    } else if (position.equals("bottom-center")) {
        params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
        params.addRule(RelativeLayout.CENTER_HORIZONTAL);
    } else if (position.equals("bottom-right")) {
        params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
        params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
    } else {
        params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
        params.addRule(RelativeLayout.CENTER_HORIZONTAL);
    }

    //bannerViewLayout.addView(bannerView, params);
    bannerView.setLayoutParams(params);
    bannerViewLayout.addView(bannerView);
}

From source file:com.cloud.widget.viewpager.PagerSlidingTabStrip.java

/**
 * Modify by Cloud on 15/12/1./*w  ww.  j  a v  a2s.  c om*/
 *  TabViewViewGroup
 */
private void addTextTab(final int position, String title, float num, boolean hasIndicator, boolean hasNum,
        int tabNum) {
    relativeLayout = new RelativeLayout(getContext());

    if (hasIndicator) {

        if (hasNum) {
            //title
            RelativeLayout.LayoutParams titleLp = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,
                    LayoutParams.WRAP_CONTENT);
            titleText = new TextView(getContext());
            titleText.setText(title);
            titleText.setGravity(Gravity.CENTER);
            titleText.setSingleLine();
            titleText.setTypeface(tabTypeface, tabTypefaceStyle);
            titleText.setTextAppearance(getContext(), tabDefaultTextAppearance);
            titleLp.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);
            titleText.setLayoutParams(titleLp);

            //
            RelativeLayout.LayoutParams indicatorLp = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,
                    LayoutParams.WRAP_CONTENT);
            indicatorText = new TextView(getContext());
            indicatorText.setHeight(px2dip(getContext(), 50));
            indicatorText.setWidth(px2dip(getContext(), screenWidth));
            indicatorText.setText("" + String.valueOf(num));
            indicatorText.setGravity(Gravity.CENTER);
            indicatorText.setSingleLine();
            indicatorLp.topMargin = 5;
            indicatorLp.bottomMargin = 5;
            indicatorLp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);
            indicatorText.setLayoutParams(indicatorLp);
            relativeLayout.addView(indicatorText);
            relativeLayout.addView(titleText);
        } else {
            //title
            RelativeLayout.LayoutParams titleLp = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,
                    LayoutParams.MATCH_PARENT);
            titleText = new TextView(getContext());
            titleText.setText(title);
            titleText.setGravity(Gravity.CENTER);
            titleText.setSingleLine();
            titleText.setTypeface(tabTypeface, tabTypefaceStyle);
            titleText.setTextAppearance(getContext(), tabDefaultTextAppearance);
            titleText.setLayoutParams(titleLp);
            relativeLayout.addView(titleText);
        }
    } else {
        RelativeLayout.LayoutParams titleLp = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,
                LayoutParams.MATCH_PARENT);
        titleText = new TextView(getContext());
        titleText.setGravity(Gravity.CENTER);
        titleText.setSingleLine();
        titleText.setTypeface(tabTypeface, tabTypefaceStyle);
        titleText.setTextAppearance(getContext(), tabDefaultTextAppearance);
        titleText.setLayoutParams(titleLp);
        relativeLayout.addView(titleText);
        if (num % 1 == 0) {
            titleText.setText(title + "(" + String.valueOf((int) num) + ")");
        } else {
            titleText.setText(title + "(" + String.valueOf(num) + ")");
        }
    }

    if (num != 0 && hasIndicator && !hasNum) {
        //
        RelativeLayout.LayoutParams indicatorLp = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT);
        indicatorText = new TextView(getContext());
        indicatorText.setHeight(px2dip(getContext(), 50));
        indicatorText.setWidth(px2dip(getContext(), 50));
        if (num % 1 == 0) {
            indicatorText.setText(String.valueOf((int) num));
        } else {
            indicatorText.setText(String.valueOf(num));
        }
        indicatorText.setGravity(Gravity.CENTER);
        indicatorText.setSingleLine();
        indicatorText
                .setBackgroundDrawable(getContext().getResources().getDrawable(R.drawable.indicator_red_shape));
        indicatorText.setTextAppearance(getContext(), indicatorNum);
        indicatorLp.topMargin = 10;
        if (tabNum == 4) {
            indicatorLp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, RelativeLayout.TRUE);
        } else {
            indicatorLp.leftMargin = screenWidth / 4 + screenWidth / 16;
        }
        indicatorLp.addRule(RelativeLayout.ALIGN_PARENT_TOP, RelativeLayout.TRUE);
        indicatorText.setLayoutParams(indicatorLp);
        relativeLayout.addView(indicatorText);
    }

    addTab(position, relativeLayout);
}

From source file:com.nickandjerry.dynamiclayoutinflator.DynamicLayoutInflator.java

@SuppressLint("NewApi")
private static void applyAttributes(View view, Map<String, String> attrs, ViewGroup parent) {
    if (viewRunnables == null)
        createViewRunnables();//from w w w  .  j  av a  2  s .c o m
    ViewGroup.LayoutParams layoutParams = view.getLayoutParams();
    int layoutRule;
    int marginLeft = 0, marginRight = 0, marginTop = 0, marginBottom = 0, paddingLeft = 0, paddingRight = 0,
            paddingTop = 0, paddingBottom = 0;
    boolean hasCornerRadius = false, hasCornerRadii = false;
    for (Map.Entry<String, String> entry : attrs.entrySet()) {
        String attr = entry.getKey();
        if (viewRunnables.containsKey(attr)) {
            viewRunnables.get(attr).apply(view, entry.getValue(), parent, attrs);
            continue;
        }
        if (attr.startsWith("cornerRadius")) {
            hasCornerRadius = true;
            hasCornerRadii = !attr.equals("cornerRadius");
            continue;
        }
        layoutRule = NO_LAYOUT_RULE;
        boolean layoutTarget = false;
        switch (attr) {
        case "id":
            String idValue = parseId(entry.getValue());
            if (parent != null) {
                DynamicLayoutInfo info = getDynamicLayoutInfo(parent);
                int newId = highestIdNumberUsed++;
                view.setId(newId);
                info.nameToIdNumber.put(idValue, newId);
            }
            break;
        case "width":
        case "layout_width":
            switch (entry.getValue()) {
            case "wrap_content":
                layoutParams.width = ViewGroup.LayoutParams.WRAP_CONTENT;
                break;
            case "fill_parent":
            case "match_parent":
                layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT;
                break;
            default:
                layoutParams.width = DimensionConverter.stringToDimensionPixelSize(entry.getValue(),
                        view.getResources().getDisplayMetrics(), parent, true);
                break;
            }
            break;
        case "height":
        case "layout_height":
            switch (entry.getValue()) {
            case "wrap_content":
                layoutParams.height = ViewGroup.LayoutParams.WRAP_CONTENT;
                break;
            case "fill_parent":
            case "match_parent":
                layoutParams.height = ViewGroup.LayoutParams.MATCH_PARENT;
                break;
            default:
                layoutParams.height = DimensionConverter.stringToDimensionPixelSize(entry.getValue(),
                        view.getResources().getDisplayMetrics(), parent, false);
                break;
            }
            break;
        case "layout_gravity":
            if (parent != null && parent instanceof LinearLayout) {
                ((LinearLayout.LayoutParams) layoutParams).gravity = parseGravity(entry.getValue());
            } else if (parent != null && parent instanceof FrameLayout) {
                ((FrameLayout.LayoutParams) layoutParams).gravity = parseGravity(entry.getValue());
            }
            break;
        case "layout_weight":
            if (parent != null && parent instanceof LinearLayout) {
                ((LinearLayout.LayoutParams) layoutParams).weight = Float.parseFloat(entry.getValue());
            }
            break;
        case "layout_below":
            layoutRule = RelativeLayout.BELOW;
            layoutTarget = true;
            break;
        case "layout_above":
            layoutRule = RelativeLayout.ABOVE;
            layoutTarget = true;
            break;
        case "layout_toLeftOf":
            layoutRule = RelativeLayout.LEFT_OF;
            layoutTarget = true;
            break;
        case "layout_toRightOf":
            layoutRule = RelativeLayout.RIGHT_OF;
            layoutTarget = true;
            break;
        case "layout_alignBottom":
            layoutRule = RelativeLayout.ALIGN_BOTTOM;
            layoutTarget = true;
            break;
        case "layout_alignTop":
            layoutRule = RelativeLayout.ALIGN_TOP;
            layoutTarget = true;
            break;
        case "layout_alignLeft":
        case "layout_alignStart":
            layoutRule = RelativeLayout.ALIGN_LEFT;
            layoutTarget = true;
            break;
        case "layout_alignRight":
        case "layout_alignEnd":
            layoutRule = RelativeLayout.ALIGN_RIGHT;
            layoutTarget = true;
            break;
        case "layout_alignParentBottom":
            layoutRule = RelativeLayout.ALIGN_PARENT_BOTTOM;
            break;
        case "layout_alignParentTop":
            layoutRule = RelativeLayout.ALIGN_PARENT_TOP;
            break;
        case "layout_alignParentLeft":
        case "layout_alignParentStart":
            layoutRule = RelativeLayout.ALIGN_PARENT_LEFT;
            break;
        case "layout_alignParentRight":
        case "layout_alignParentEnd":
            layoutRule = RelativeLayout.ALIGN_PARENT_RIGHT;
            break;
        case "layout_centerHorizontal":
            layoutRule = RelativeLayout.CENTER_HORIZONTAL;
            break;
        case "layout_centerVertical":
            layoutRule = RelativeLayout.CENTER_VERTICAL;
            break;
        case "layout_centerInParent":
            layoutRule = RelativeLayout.CENTER_IN_PARENT;
            break;
        case "layout_margin":
            marginLeft = marginRight = marginTop = marginBottom = DimensionConverter
                    .stringToDimensionPixelSize(entry.getValue(), view.getResources().getDisplayMetrics());
            break;
        case "layout_marginLeft":
            marginLeft = DimensionConverter.stringToDimensionPixelSize(entry.getValue(),
                    view.getResources().getDisplayMetrics(), parent, true);
            break;
        case "layout_marginTop":
            marginTop = DimensionConverter.stringToDimensionPixelSize(entry.getValue(),
                    view.getResources().getDisplayMetrics(), parent, false);
            break;
        case "layout_marginRight":
            marginRight = DimensionConverter.stringToDimensionPixelSize(entry.getValue(),
                    view.getResources().getDisplayMetrics(), parent, true);
            break;
        case "layout_marginBottom":
            marginBottom = DimensionConverter.stringToDimensionPixelSize(entry.getValue(),
                    view.getResources().getDisplayMetrics(), parent, false);
            break;
        case "padding":
            paddingBottom = paddingLeft = paddingRight = paddingTop = DimensionConverter
                    .stringToDimensionPixelSize(entry.getValue(), view.getResources().getDisplayMetrics());
            break;
        case "paddingLeft":
            paddingLeft = DimensionConverter.stringToDimensionPixelSize(entry.getValue(),
                    view.getResources().getDisplayMetrics());
            break;
        case "paddingTop":
            paddingTop = DimensionConverter.stringToDimensionPixelSize(entry.getValue(),
                    view.getResources().getDisplayMetrics());
            break;
        case "paddingRight":
            paddingRight = DimensionConverter.stringToDimensionPixelSize(entry.getValue(),
                    view.getResources().getDisplayMetrics());
            break;
        case "paddingBottom":
            paddingBottom = DimensionConverter.stringToDimensionPixelSize(entry.getValue(),
                    view.getResources().getDisplayMetrics());
            break;

        }
        if (layoutRule != NO_LAYOUT_RULE && parent instanceof RelativeLayout) {
            if (layoutTarget) {
                int anchor = idNumFromIdString(parent, parseId(entry.getValue()));
                ((RelativeLayout.LayoutParams) layoutParams).addRule(layoutRule, anchor);
            } else if (entry.getValue().equals("true")) {
                ((RelativeLayout.LayoutParams) layoutParams).addRule(layoutRule);
            }
        }
    }
    // TODO: this is a giant mess; come up with a simpler way of deciding what to draw for the background
    if (attrs.containsKey("background") || attrs.containsKey("borderColor")) {
        String bgValue = attrs.containsKey("background") ? attrs.get("background") : null;
        if (bgValue != null && bgValue.startsWith("@drawable/")) {
            view.setBackground(getDrawableByName(view, bgValue));
        } else if (bgValue == null || bgValue.startsWith("#") || bgValue.startsWith("@color")) {
            if (view instanceof Button || attrs.containsKey("pressedColor")) {
                int bgColor = parseColor(view, bgValue == null ? "#00000000" : bgValue);
                int pressedColor;
                if (attrs.containsKey("pressedColor")) {
                    pressedColor = parseColor(view, attrs.get("pressedColor"));
                } else {
                    pressedColor = adjustBrightness(bgColor, 0.9f);
                }
                GradientDrawable gd = new GradientDrawable();
                gd.setColor(bgColor);
                GradientDrawable pressedGd = new GradientDrawable();
                pressedGd.setColor(pressedColor);
                if (hasCornerRadii) {
                    float radii[] = new float[8];
                    for (int i = 0; i < CORNERS.length; i++) {
                        String corner = CORNERS[i];
                        if (attrs.containsKey("cornerRadius" + corner)) {
                            radii[i * 2] = radii[i * 2 + 1] = DimensionConverter.stringToDimension(
                                    attrs.get("cornerRadius" + corner),
                                    view.getResources().getDisplayMetrics());
                        }
                        gd.setCornerRadii(radii);
                        pressedGd.setCornerRadii(radii);
                    }
                } else if (hasCornerRadius) {
                    float cornerRadius = DimensionConverter.stringToDimension(attrs.get("cornerRadius"),
                            view.getResources().getDisplayMetrics());
                    gd.setCornerRadius(cornerRadius);
                    pressedGd.setCornerRadius(cornerRadius);
                }
                if (attrs.containsKey("borderColor")) {
                    String borderWidth = "1dp";
                    if (attrs.containsKey("borderWidth")) {
                        borderWidth = attrs.get("borderWidth");
                    }
                    int borderWidthPx = DimensionConverter.stringToDimensionPixelSize(borderWidth,
                            view.getResources().getDisplayMetrics());
                    gd.setStroke(borderWidthPx, parseColor(view, attrs.get("borderColor")));
                    pressedGd.setStroke(borderWidthPx, parseColor(view, attrs.get("borderColor")));
                }
                StateListDrawable selector = new StateListDrawable();
                selector.addState(new int[] { android.R.attr.state_pressed }, pressedGd);
                selector.addState(new int[] {}, gd);
                view.setBackground(selector);
                getDynamicLayoutInfo(view).bgDrawable = gd;
            } else if (hasCornerRadius || attrs.containsKey("borderColor")) {
                GradientDrawable gd = new GradientDrawable();
                int bgColor = parseColor(view, bgValue == null ? "#00000000" : bgValue);
                gd.setColor(bgColor);
                if (hasCornerRadii) {
                    float radii[] = new float[8];
                    for (int i = 0; i < CORNERS.length; i++) {
                        String corner = CORNERS[i];
                        if (attrs.containsKey("cornerRadius" + corner)) {
                            radii[i * 2] = radii[i * 2 + 1] = DimensionConverter.stringToDimension(
                                    attrs.get("cornerRadius" + corner),
                                    view.getResources().getDisplayMetrics());
                        }
                        gd.setCornerRadii(radii);
                    }
                } else if (hasCornerRadius) {
                    float cornerRadius = DimensionConverter.stringToDimension(attrs.get("cornerRadius"),
                            view.getResources().getDisplayMetrics());
                    gd.setCornerRadius(cornerRadius);
                }
                if (attrs.containsKey("borderColor")) {
                    String borderWidth = "1dp";
                    if (attrs.containsKey("borderWidth")) {
                        borderWidth = attrs.get("borderWidth");
                    }
                    gd.setStroke(
                            DimensionConverter.stringToDimensionPixelSize(borderWidth,
                                    view.getResources().getDisplayMetrics()),
                            parseColor(view, attrs.get("borderColor")));
                }
                view.setBackground(gd);
                getDynamicLayoutInfo(view).bgDrawable = gd;
            } else {
                view.setBackgroundColor(parseColor(view, bgValue));
            }
        }
    }

    if (layoutParams instanceof ViewGroup.MarginLayoutParams) {
        ((ViewGroup.MarginLayoutParams) layoutParams).setMargins(marginLeft, marginTop, marginRight,
                marginBottom);
    }
    view.setPadding(paddingLeft, paddingTop, paddingRight, paddingBottom);
    view.setLayoutParams(layoutParams);
}

From source file:com.bluekai.sdk.BlueKai.java

private void addBlueKaiWebView(Context context) {
    try {/*from   ww  w  .j av  a2  s.co  m*/
        blueKaiView = new BlueKaiWebView(context, this);
        blueKaiView.setWebClient();
        WebSettings webSettings = blueKaiView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        int height = 1, width = 1;
        if (devMode) {
            height = width = RelativeLayout.LayoutParams.MATCH_PARENT;
        }
        RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(width, height);
        params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
        params.addRule(RelativeLayout.ALIGN_PARENT_TOP, RelativeLayout.TRUE);
        params.setMargins(10, 10, 10, 10);
        blueKaiView.setBackgroundColor(Color.LTGRAY);
        if (activity != null) {
            activity.addContentView(blueKaiView, params);
        } else {
            Logger.warn(TAG, "Activity is null. Cannot add webview");
        }
    } catch (Exception ex) {
        Logger.error(TAG, "Error while adding BlueKai webview", ex);
    }
}

From source file:org.protocoderrunner.apprunner.AppRunnerFragment.java

public RelativeLayout initLayout() {
    LayoutParams layoutParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);

    // add main layout
    mainLayout = new RelativeLayout(mActivity);
    mainLayout.setLayoutParams(layoutParams);
    mainLayout.setGravity(Gravity.BOTTOM);
    // mainLayout.setBackgroundColor(getResources().getColor(R.color.transparent));
    mainLayout.setBackgroundColor(getResources().getColor(R.color.white));

    // set the parent
    parentScriptedLayout = new RelativeLayout(mActivity);
    parentScriptedLayout.setLayoutParams(layoutParams);
    parentScriptedLayout.setGravity(Gravity.BOTTOM);
    parentScriptedLayout.setBackgroundColor(getResources().getColor(R.color.transparent));
    mainLayout.addView(parentScriptedLayout);

    // editor layout
    editorLayout = new FrameLayout(mActivity);
    FrameLayout.LayoutParams editorParams = new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT,
            LayoutParams.MATCH_PARENT);/*from w  w w  .j a v  a 2s .  c o  m*/
    editorLayout.setLayoutParams(editorParams);
    editorLayout.setId(EDITOR_ID);
    mainLayout.addView(editorLayout);

    // console layout
    consoleRLayout = new RelativeLayout(mActivity);
    RelativeLayout.LayoutParams consoleLayoutParams = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,
            getResources().getDimensionPixelSize(R.dimen.apprunner_console));
    consoleLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
    consoleLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
    consoleRLayout.setLayoutParams(consoleLayoutParams);
    consoleRLayout.setGravity(Gravity.BOTTOM);
    consoleRLayout.setBackgroundColor(getResources().getColor(R.color.blacktransparent));
    consoleRLayout.setVisibility(View.GONE);
    mainLayout.addView(consoleRLayout);

    // Create the text view to add to the console layout
    consoleText = new TextView(mActivity);
    LayoutParams consoleTextParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
    consoleText.setBackgroundColor(getResources().getColor(R.color.transparent));
    consoleText.setTextColor(getResources().getColor(R.color.white));
    consoleText.setLayoutParams(consoleTextParams);
    int textPadding = getResources().getDimensionPixelSize(R.dimen.apprunner_console_text_padding);
    consoleText.setPadding(textPadding, textPadding, textPadding, textPadding);
    consoleRLayout.addView(consoleText);

    //add a close button
    Button closeBtn = new Button(mActivity);
    closeBtn.setText("x");
    closeBtn.setPadding(5, 5, 5, 5);
    closeBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            showConsole(false);
        }
    });
    RelativeLayout.LayoutParams closeBtnLayoutParams = new RelativeLayout.LayoutParams(
            LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    closeBtnLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
    closeBtnLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
    closeBtn.setLayoutParams(closeBtnLayoutParams);
    consoleRLayout.addView(closeBtn);

    liveCoding = new PLiveCodingFeedback(mActivity);
    mainLayout.addView(liveCoding.add());

    return mainLayout;
}

From source file:com.cranberrygame.phonegap.plugin.ad.Util.java

private void _showBannerAd(String position, String size) {
    this.position = position;
    this.size = size;

    if (bannerAdPreloaded) {
        bannerAdPreloaded = false;/*from   ww w .jav  a  2 s.c o m*/
    } else {
        _preloadBannerAd();
    }

    //http://tigerwoods.tistory.com/11
    //http://developer.android.com/reference/android/widget/RelativeLayout.html
    //http://stackoverflow.com/questions/24900725/admob-banner-poitioning-in-android-on-bottom-of-the-screen-using-no-xml-relative
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(AdView.LayoutParams.WRAP_CONTENT,
            AdView.LayoutParams.WRAP_CONTENT);
    if (position.equals("top-left")) {
        Log.d("Admob", "top-left");
        params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
        params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
    } else if (position.equals("top-center")) {
        params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
        params.addRule(RelativeLayout.CENTER_HORIZONTAL);
    } else if (position.equals("top-right")) {
        params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
        params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
    } else if (position.equals("left")) {
        params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
        params.addRule(RelativeLayout.CENTER_VERTICAL);
    } else if (position.equals("center")) {
        params.addRule(RelativeLayout.CENTER_HORIZONTAL);
        params.addRule(RelativeLayout.CENTER_VERTICAL);
    } else if (position.equals("right")) {
        params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
        params.addRule(RelativeLayout.CENTER_VERTICAL);
    } else if (position.equals("bottom-left")) {
        params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
        params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
    } else if (position.equals("bottom-center")) {

        params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
        params.addRule(RelativeLayout.CENTER_HORIZONTAL);
    } else if (position.equals("bottom-right")) {
        params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
        params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
    } else {
        params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
        params.addRule(RelativeLayout.CENTER_HORIZONTAL);
    }

    //bannerViewLayout.addView(bannerView, params);
    bannerView.setLayoutParams(params);
    bannerViewLayout.addView(bannerView);
}

From source file:com.spoiledmilk.ibikecph.LeftMenu.java

@SuppressWarnings("deprecation")
public void updateControls() {
    LOG.d("LeftMenu updateControls");
    if (!IbikeApplication.isUserLogedIn()) {
        favoritesContainer.setBackgroundDrawable(null);
        textFavoriteHint.setTextColor(getHintDisabledTextColor());
        textNewFavorite.setTextColor(Color.rgb(60, 60, 60));
        imgAdd.setImageResource(R.drawable.fav_plus_none);
        favoritesList.setAdapter(null);/* w  ww.  ja va  2s.  co m*/
        RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
                RelativeLayout.LayoutParams.WRAP_CONTENT, Util.dp2px(150));
        favoritesContainerHeight = Util.dp2px(150);
        params.addRule(RelativeLayout.CENTER_HORIZONTAL);
        params.addRule(RelativeLayout.BELOW, favoritesHeaderContainer.getId());
        favoritesContainer.setLayoutParams(params);
        addContainer.setPadding((int) (Util.getScreenWidth() / 7 + Util.dp2px(7)), (int) Util.dp2px(5), 0,
                (int) Util.dp2px(34));
        // getView().findViewById(R.id.imgRightArrow).setVisibility(View.INVISIBLE);
        textFavoriteHint.setVisibility(View.VISIBLE);
        btnEditFavorites.setVisibility(View.INVISIBLE);
        btnEditFavorites.setEnabled(false);
        lastListDivider.setVisibility(View.GONE);
        params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
                RelativeLayout.LayoutParams.WRAP_CONTENT);
        params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
        params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
        params.topMargin = Util.dp2px(3);
        // imgAdd.setLayoutParams(params);
        textNewFavorite.setPadding(Util.dp2px(0), 0, 0, Util.dp2px(0));
        params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
                RelativeLayout.LayoutParams.WRAP_CONTENT);
        params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
        params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
        params.bottomMargin = Util.getDensity() >= 2 ? Util.dp2px(40) : Util.dp2px(20);
        addContainer.setLayoutParams(params);
        addContainer.setPadding(Util.getDensity() >= 2 ? Util.dp2px(60) : Util.dp2px(40), Util.dp2px(7), 0,
                Util.dp2px(7));
        addContainer.setBackgroundColor(Color.TRANSPARENT);
        addContainer.setClickable(false);
    } else if (favorites == null || favorites.size() == 0) {
        favoritesContainer.setBackgroundResource(R.drawable.add_fav_background_selector);
        addContainer.setBackgroundColor(Color.TRANSPARENT);// addContainer.setBackgroundResource(R.drawable.add_fav_background_selector);
        lastListDivider.setVisibility(View.GONE);
        favoritesList.setVisibility(View.GONE);
        textFavoriteHint.setVisibility(View.VISIBLE);
        // getView().findViewById(R.id.imgRightArrow).setVisibility(View.VISIBLE);
        favoritesContainer.setClickable(true);
        imgAdd.setImageResource(R.drawable.fav_add);
        textFavoriteHint.setTextColor(getHintEnabledTextColor());
        textNewFavorite.setTextColor(getAddFavoriteTextColor());
        btnEditFavorites.setVisibility(View.INVISIBLE);
        btnEditFavorites.setEnabled(false);
        RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
                RelativeLayout.LayoutParams.WRAP_CONTENT, Util.dp2px(150));
        favoritesContainerHeight = Util.dp2px(150);
        params.addRule(RelativeLayout.CENTER_HORIZONTAL);
        params.addRule(RelativeLayout.BELOW, getView().findViewById(R.id.favoritesHeaderContainer).getId());
        favoritesContainer.setLayoutParams(params);
        addContainer.setPadding((int) (Util.getScreenWidth() / 7 + Util.dp2px(7)), (int) Util.dp2px(5), 0,
                (int) Util.dp2px(34));
        params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
                RelativeLayout.LayoutParams.WRAP_CONTENT);
        params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
        params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
        params.topMargin = Util.dp2px(3);
        // imgAdd.setLayoutParams(params);
        textNewFavorite.setPadding(0, 0, 0, 0);
        params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
                RelativeLayout.LayoutParams.WRAP_CONTENT);
        params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
        params.addRule(RelativeLayout.CENTER_HORIZONTAL);
        params.bottomMargin = Util.getDensity() >= 2 ? Util.dp2px(40) : Util.dp2px(20);
        addContainer.setLayoutParams(params);
        addContainer.setPadding(Util.getDensity() >= 2 ? Util.dp2px(0) : Util.dp2px(10), Util.dp2px(7), 0,
                Util.dp2px(7));
        addContainer.setClickable(false);
    } else {
        // Loged in, and there is a list of favorites
        favoritesList.clearAnimations();
        favoritesList.setVisibility(View.VISIBLE);
        if (listAdapter != null) {
            ((FavoritesAdapter) listAdapter).setIsEditMode(isEditMode);
            btnEditFavorites.setVisibility(isEditMode ? View.INVISIBLE : View.VISIBLE);
            btnEditFavorites.setEnabled(!isEditMode);
            btnDone.setVisibility(isEditMode ? View.VISIBLE : View.INVISIBLE);
            btnDone.setEnabled(isEditMode);
        }
        textFavoriteHint.setVisibility(View.GONE);
        if (getView() != null) {
            addContainer.setVisibility(isEditMode ? View.GONE : View.VISIBLE);
            // getView().findViewById(R.id.imgRightArrow).setVisibility(View.GONE);
            getView().findViewById(R.id.favoritesContainer).setClickable(false);
            int count = favorites.size();
            int listHeight = count * (menuItemHeight) + Util.dp2px(1) * count;
            int viewHeight = (int) (Util.getScreenHeight() - Util.dp2px(26)); //
            // screen height without the
            // notifications bar
            int avaliableHeight = viewHeight - (menuItemHeight * (getMenuItemsCount() + (isEditMode ? 0 : 1)))
                    - (getMenuItemsCount() * dividerHeight);
            LOG.d("available height = " + avaliableHeight);
            LOG.d("list height = " + listHeight);
            if (listHeight > avaliableHeight) {
                listHeight = avaliableHeight;
            }
            RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
                    RelativeLayout.LayoutParams.MATCH_PARENT,
                    (isEditMode ? listHeight : (listHeight + menuItemHeight)));
            favoritesContainerHeight = (isEditMode ? listHeight : (listHeight + menuItemHeight));
            params.addRule(RelativeLayout.CENTER_HORIZONTAL);
            params.addRule(RelativeLayout.BELOW, getView().findViewById(R.id.horizontalDivider1).getId());
            favoritesContainer.setLayoutParams(params);
            params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, listHeight);
            params.addRule(RelativeLayout.CENTER_HORIZONTAL);
            params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
            getView().findViewById(R.id.favoritesListContainer).setLayoutParams(params);
            imgAdd.setImageResource(R.drawable.fav_add);
            textFavoriteHint.setTextColor(Color.WHITE);
            textNewFavorite.setTextColor(getAddFavoriteTextColor());
            lastListDivider.setVisibility(
                    (isEditMode || favorites.size() <= getFavoritesVisibleItemCount()) ? View.GONE
                            : View.VISIBLE);
            updateFavoritesContainer();
            addContainer.setPadding((int) Util.dp2px(30), (int) Util.dp2px(0), 0, (int) Util.dp2px(0));
            params = new RelativeLayout.LayoutParams(Util.dp2px(14), Util.dp2px(14));
            params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
            params.addRule(RelativeLayout.CENTER_VERTICAL);
            params.bottomMargin = Util.dp2px(0);
            // imgAdd.setLayoutParams(params);
            params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, menuItemHeight);
            params.addRule(RelativeLayout.BELOW, getView().findViewById(R.id.favoritesListContainer).getId());
            if (!isEditMode) {
                addContainer.setLayoutParams(params);
            }
            addContainer.setBackgroundResource(R.drawable.add_fav_background_selector);
            addContainer.setClickable(true);
            textNewFavorite.setPadding(Util.dp2px(4), 0, 0, 0);
            ((FavoritesAdapter) listAdapter).notifyDataSetChanged();
        }
    }

}