当前位置: 首页>>代码示例>>Java>>正文


Java MarginLayoutParamsCompat.resolveLayoutDirection方法代码示例

本文整理汇总了Java中android.support.v4.view.MarginLayoutParamsCompat.resolveLayoutDirection方法的典型用法代码示例。如果您正苦于以下问题:Java MarginLayoutParamsCompat.resolveLayoutDirection方法的具体用法?Java MarginLayoutParamsCompat.resolveLayoutDirection怎么用?Java MarginLayoutParamsCompat.resolveLayoutDirection使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.support.v4.view.MarginLayoutParamsCompat的用法示例。


在下文中一共展示了MarginLayoutParamsCompat.resolveLayoutDirection方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: fillMarginLayoutParams

import android.support.v4.view.MarginLayoutParamsCompat; //导入方法依赖的package包/类
/**
 * Fills {@code ViewGroup.MarginLayoutParams} dimensions and margins based on percentage
 * values.
 */
public void fillMarginLayoutParams(View view, ViewGroup.MarginLayoutParams params,
        int widthHint, int heightHint) {
    fillLayoutParams(params, widthHint, heightHint);

    // Preserve the original margins, so we can restore them after the measure step.
    mPreservedParams.leftMargin = params.leftMargin;
    mPreservedParams.topMargin = params.topMargin;
    mPreservedParams.rightMargin = params.rightMargin;
    mPreservedParams.bottomMargin = params.bottomMargin;
    MarginLayoutParamsCompat.setMarginStart(mPreservedParams,
            MarginLayoutParamsCompat.getMarginStart(params));
    MarginLayoutParamsCompat.setMarginEnd(mPreservedParams,
            MarginLayoutParamsCompat.getMarginEnd(params));

    if (leftMarginPercent >= 0) {
        params.leftMargin = (int) (widthHint * leftMarginPercent);
    }
    if (topMarginPercent >= 0) {
        params.topMargin = (int) (heightHint * topMarginPercent);
    }
    if (rightMarginPercent >= 0) {
        params.rightMargin = (int) (widthHint * rightMarginPercent);
    }
    if (bottomMarginPercent >= 0) {
        params.bottomMargin = (int) (heightHint * bottomMarginPercent);
    }
    boolean shouldResolveLayoutDirection = false;
    if (startMarginPercent >= 0) {
        MarginLayoutParamsCompat.setMarginStart(params,
                (int) (widthHint * startMarginPercent));
        shouldResolveLayoutDirection = true;
    }
    if (endMarginPercent >= 0) {
        MarginLayoutParamsCompat.setMarginEnd(params,
                (int) (widthHint * endMarginPercent));
        shouldResolveLayoutDirection = true;
    }
    if (shouldResolveLayoutDirection && (view != null)) {
        // Force the resolve pass so that start / end margins are propagated to the
        // matching left / right fields
        MarginLayoutParamsCompat.resolveLayoutDirection(params,
                ViewCompat.getLayoutDirection(view));
    }
    if (Log.isLoggable(TAG, Log.DEBUG)) {
        Log.d(TAG, "after fillMarginLayoutParams: (" + params.width + ", " + params.height
                + ")");
    }
}
 
开发者ID:ZacharyTech,项目名称:Android-Support-ExPercent,代码行数:53,代码来源:PercentLayoutHelper.java


注:本文中的android.support.v4.view.MarginLayoutParamsCompat.resolveLayoutDirection方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。