View在Android 4.4.4版本的kitkat中无效

时间:2016-07-27 05:45:15

标签: android xml

private void initViews() {
    lytButtons = (LinearLayout) findViewById(R.id.lytButtons);
    btnAddButtons = (Button) findViewById(R.id.btnAddButtons);

    btnAddButtons.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            addButtons();
        }
    });
}

protected void addButtons() {
    try {
        Button btn1 = createButton("Btn 1");
        Button btn2 = createButton("Btn 2");
        Button btn3 = createButton("Btn 3");
        Button btn4 = createButton("Btn 4");
        Button btn5 = createButton("Btn 5");
        Button btn6 = createButton("Btn 6");


        lytButtons.addView(btn1);
        lytButtons.addView(btn2);
        lytButtons.addView(btn3);
        lytButtons.addView(btn4);
        lytButtons.addView(btn5);
        lytButtons.addView(btn6);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

Button createButton(String text) {

    Button btn = new Button(getActivity());
    btn.setText(text);
    LinearLayout.LayoutParams prm1 = new LinearLayout.LayoutParams(
            LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    prm1.weight = 1.0f;
    btn.setLayoutParams(prm1);

    return btn;
}

我必须绘制两行,但视图在Android 4.4.4 kitkat版本中不起作用。

6 个答案:

答案 0 :(得分:0)

使用 dp 代替 px ,然后检查其工作。

答案 1 :(得分:0)

如果您的背景颜色是白色,那么您将看不到它,因为它在operatorLine和adminLine中是相同的 试试

  <View
        android:id="@+id/operatorLine"
        android:layout_width="180px"
        android:layout_height= "7dp"
        android:layout_marginRight="95px"
        android:background="#000000" />
    <View
        android:id="@+id/adminLine"
        android:layout_width="155px"
        android:layout_marginLeft="95px"
        android:layout_height= "7dp"
        android:background="#000000" />

答案 2 :(得分:0)

尝试更改颜色,并查看结果,因为#ffffff为白色,背景也是白色,所以它不可见,尝试其他一些颜色代码,这两条线都太不同了          

答案 3 :(得分:0)

使用此代码会显示您的观点

<LinearLayout   android:layout_width="wrap_content"
        android:layout_gravity="center_horizontal"
        android:background="#111111"
        android:layout_height="wrap_content">
        <View
            android:id="@+id/operatorLine"
            android:layout_width="180px"
            android:layout_height= "7dp"
            android:layout_marginRight="95px"
            android:background="#ffffff" />
        <View
            android:id="@+id/adminLine"
            android:layout_width="155px"
            android:layout_marginLeft="95px"
            android:layout_height= "7dp"
            android:background="#ffffff" />

    </LinearLayout>

答案 4 :(得分:0)

现在它正在工作,我已将dp更改为sp,我不知道为什么,但现在它正常工作。

答案 5 :(得分:0)

除了View之外,您还可以使用其他视图,例如LinearLayout,RelativeLayout,因为所有这些视图也是一种类型的视图。

我必须绘制两行,但视图在Android 4.4.4 kitkat版本中不起作用。

此处,问题不在于dp,sp或px。

用户在代码下面,以便您可以看到您的视图

<LinearLayout   
        android:layout_width="match_parent"
        android:layout_gravity="center_horizontal"
        android:background="#111111"
        android:layout_height="wrap_content">
        <View
            android:id="@+id/operatorLine"
            android:layout_width="180px"
            android:layout_height= "7dp"
            android:layout_marginRight="95px"
            android:background="#ffffff" />
        <View
            android:id="@+id/adminLine"
            android:layout_width="155px"
            android:layout_marginLeft="95px"
            android:layout_height= "7dp"
            android:background="#ffffff" />

    </LinearLayout>