【问题标题】:android:layout_marginBottom="20dp" how can i set this programaticallyandroid:layout_marginBottom="20dp" 我如何以编程方式设置它
【发布时间】:2018-08-17 16:14:03
【问题描述】:

我尝试了很多例子,但这些答案并没有让我清楚。任何帮助appriciated

【问题讨论】:

标签: android layout material-design


【解决方案1】:
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(0, 0, 0, 20);
progressBar.setLayoutParams(layoutParams);

注意:我添加的边距以 px 为单位,您可能需要以编程方式将其转换为 dp。

【讨论】:

    【解决方案2】:

    是的,您可以使用编程方式设置margin

        ProgressBar view;
        RelativeLayout.LayoutParams params = view.getLayoutParams();
        int marginInPx = convertDpToPx(20);
        params.setMargins(0,0,0,marginInPx);
        view.setLayoutParams(params);
    
        private int convertDpToPx(float dp){
           DisplayMetrics metrics = getResources().getDisplayMetrics();
           return (int)((int)dp * ((float)metrics.densityDpi / DisplayMetrics.DENSITY_DEFAULT));
        }
    

    【讨论】:

    • 很高兴我能帮上忙 :) 快乐编码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-13
    • 2011-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多