以编程方式对齐Android元素

时间:2017-01-20 11:08:31

标签: android layout alignment

我使用数据库值以编程方式创建Android视图。但我不知道如何调整元素。我正在创建LinearLayout但它没有正确对齐。 我的实际输出是

enter image description here

预期产出

enter image description here

我的代码

lView = new LinearLayout(Main2Activity.this);
// lView.setPadding(0,150,0,0);
lView.setBackgroundColor(Color.parseColor("#FFFFFF"));
lView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
LinearLayout.LayoutParams l2 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
l2.gravity=Gravity.CENTER;

GradientDrawable gd3 = new GradientDrawable();
gd3.setCornerRadius(30);
gd3.setColor(Color.parseColor("#003366"));
gd3.setStroke(0, 0xFF000000);
et1.setGravity(Gravity.CENTER);
et1.setHint("Select Date");
et1.setBackgroundDrawable(gd3);
lView.setOrientation(LinearLayout.VERTICAL);
lView.addView(et1);

GradientDrawable gd4 = new GradientDrawable();
gd4.setCornerRadius(30);
gd4.setColor(Color.parseColor("#5CB85C"));
gd4.setStroke(3, 0xFFFFFFFF);
 Intime = new TextView(Main2Activity.this);
Intime.setHint("Select In Time");
Intime.setTextColor(Color.WHITE);
Intime.setHintTextColor(Color.WHITE);
Intime.setTextSize(20);
Intime.setHeight(150);
Intime.setWidth(600);
Intime.setGravity(Gravity.CENTER);
Intime.setLayoutParams(l2);
Intime.setBackgroundDrawable(gd4);
lView.setOrientation(LinearLayout.HORIZONTAL);
lView.addView(Intime);

Outtime = new TextView(Main2Activity.this);
Outtime.setHint("Select Out Time");
Outtime.setTextSize(20);
Outtime.setHeight(150);
Outtime.setWidth(600);
Outtime.setGravity(Gravity.CENTER);
Outtime.setTextColor(Color.WHITE);
Outtime.setHintTextColor(Color.WHITE);
Outtime.setLayoutParams(l2);
Outtime.setBackgroundDrawable(gd4);
lView.setOrientation(LinearLayout.HORIZONTAL);
lView.addView(Outtime);

2 个答案:

答案 0 :(得分:1)

像这样编辑。

lView = new LinearLayout(Main2Activity.this);
                       // lView.setPadding(0,150,0,0);
                        lView.setBackgroundColor(Color.parseColor("#FFFFFF"));
                        lView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));

     LinearLayout.LayoutParams l2 = new           LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,      ViewGroup.LayoutParams.WRAP_CONTENT);
                       l2.gravity=Gravity.CENTER;

                        GradientDrawable gd3 = new GradientDrawable();
                        gd3.setCornerRadius(30);
                        gd3.setColor(Color.parseColor("#003366"));
                        gd3.setStroke(0, 0xFF000000);
                        et1.setGravity(Gravity.CENTER);
                        et1.setHint("Select Date");
                        et1.setBackgroundDrawable(gd3);
                          lView.setOrientation(LinearLayout.VERTICAL);
                        lView.addView(et1);



                        GradientDrawable gd4 = new GradientDrawable();
                        gd4.setCornerRadius(30);
                        gd4.setColor(Color.parseColor("#5CB85C"));
                        gd4.setStroke(3, 0xFFFFFFFF);
                         Intime = new TextView(Main2Activity.this);
                        Intime.setHint("Select In Time");
                        Intime.setTextColor(Color.WHITE);
                        Intime.setHintTextColor(Color.WHITE);
                        Intime.setTextSize(20);
                        Intime.setHeight(150);
                        Intime.setWidth(600);
                        Intime.setGravity(Gravity.CENTER);
                        Intime.setLayoutParams(l2);
                        Intime.setBackgroundDrawable(gd4);

                       // lView.addView(Intime);


                        Outtime = new TextView(Main2Activity.this);
                        Outtime.setHint("Select Out Time");
                        Outtime.setTextSize(20);
                        Outtime.setHeight(150);
                        Outtime.setWidth(600);
                        Outtime.setGravity(Gravity.CENTER);
                        Outtime.setTextColor(Color.WHITE);
                        Outtime.setHintTextColor(Color.WHITE);
                        Outtime.setLayoutParams(l2);
                       Outtime.setBackgroundDrawable(gd4);
                        lView.setOrientation(LinearLayout.HORIZONTAL);
                       // lView.addView(Outtime);


            LinearLayout lHorizontalView=new LinearLayout(Main2Activity.this);


            LinearLayout.LayoutParams l3 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,      ViewGroup.LayoutParams.WRAP_CONTENT);
                       l3.gravity=Gravity.CENTER; 


    lHorizontalView.setOrientation(LinearLayout.HORIZONTAL);
    lHorizontalView.setLayoutParams(l3);
    lHorizontalView.addView(Intime);
    lHorizontalView.addView(Outtime);

        lView.addView(lHorizontalView);

答案 1 :(得分:0)

您必须在xml中对齐此示例输出

https://i.stack.imgur.com/Kln1g.png

 <LinearLayout 
android:id="@+id/linearLayout4"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_below="@+id/linearLayout3"
android:layout_centerHorizontal="true"
android:orientation="horizontal" 
android:gravity="bottom"
android:layout_alignParentBottom="true"
android:layout_marginTop="20dp">
<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button" />
<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button" /></LinearLayout>