从linearlayout以编程方式在两个按钮之间设置边距

时间:2013-05-14 21:02:20

标签: android android-linearlayout android-button margins

如何以编程方式在“regler”和“decommender”按钮之间设置20dp的余量。

enter image description here

这是我的工作

 LinearLayout lytmain = new LinearLayout(Mcontex);
            lytmain.setOrientation(LinearLayout.VERTICAL);
            LinearLayout lytdate = new LinearLayout(Mcontex);
            LinearLayout lytbutton = new LinearLayout(Mcontex);
            lytbutton.setBackgroundResource(R.color.black);



            lytbutton.setBackgroundResource(R.color.black);
            lytdate.setBackgroundResource(R.color.black);
            lytmain.setBackgroundResource(R.color.black);
            Button btnset = new Button(Mcontex);
            Button btncancel = new Button(Mcontex);


            btncancel.setShadowLayer(2, 1, 1, R.color.black);
            btnset.setShadowLayer(2, 1, 1, R.color.black);
            btnset.setBackgroundResource(R.drawable.black_button);
            btncancel.setBackgroundResource(R.drawable.black_button);

            btnset.setTextColor(Mcontex.getResources().getColor(R.color.white));
            btncancel.setTextColor(Mcontex.getResources().getColor(R.color.white));
            btncancel.setTextSize(15);
            btnset.setTextSize(15);
            btnset.setText("Régler");
            btncancel.setText("Décommander");

            btnset.setGravity(Gravity.CENTER);
            btncancel.setGravity(Gravity.CENTER);

            final WheelView month = new WheelView(Mcontex);
            final WheelView year = new WheelView(Mcontex);
            final WheelView day = new WheelView(Mcontex);

            lytdate.addView(day, new LayoutParams(
                    android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
                    android.view.ViewGroup.LayoutParams.WRAP_CONTENT, 1.2f));
            lytdate.addView(month, new LayoutParams(
                    android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
                    android.view.ViewGroup.LayoutParams.WRAP_CONTENT, 0.8f));

            lytdate.addView(year, new LayoutParams(
                    android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
                    android.view.ViewGroup.LayoutParams.WRAP_CONTENT, 1f));
            requestWindowFeature(Window.FEATURE_NO_TITLE);



            lytbutton.addView(btnset, new LayoutParams(
                    android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
                    android.view.ViewGroup.LayoutParams.WRAP_CONTENT,1.5f));

            lytbutton.addView(btncancel, new LayoutParams(
                    android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
                    android.view.ViewGroup.LayoutParams.WRAP_CONTENT, 1.5f));


            lytbutton.setPadding(5, 5, 5, 5);
            lytmain.addView(lytdate);
            lytmain.addView(lytbutton);

            setContentView(lytmain);

            getWindow().setLayout(LayoutParams.FILL_PARENT,
                    LayoutParams.WRAP_CONTENT);

1 个答案:

答案 0 :(得分:38)

使用LinearLayout.LayoutParams

http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html

你可以将mallgins设置为LayoutParams,然后将setLayoutParams设置为你的视图。

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.setMargins(0, 2, 0, 0);
button.setLayoutParams(params);