使用CardView作为自定义Toast中的视图的奇怪故障

时间:2015-04-16 22:33:01

标签: android android-linearlayout android-xml android-cardview

所以我使用自定义Toast,我使用cardview作为布局。

我注意到在TextView的基线中出现了一条线。我注意到的是我在cardView中使用的linearlayout不知何故没有获得背景颜色并干扰了cardView的背景颜色。这是我的错误还是错误?还是只是我?

XML

<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/card_view_toast"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp">

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@null"
    android:orientation="horizontal">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal|center_vertical"
        android:padding="5dp"
        android:id="@+id/toast_icon" />

    <TextView
        android:id="@+id/toast_Text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="5dp"
        android:layout_gravity="center_horizontal|center_vertical"
        android:gravity="center"
        android:textColor="@color/white"
        android:textSize="16sp" />
</LinearLayout>

java

      LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View layout = inflater.inflate(R.layout.a_test, (ViewGroup) getActivity().findViewById(R.id.card_view_toast));

            CardView cardView = (CardView) layout.findViewById(R.id.card_view_toast);
            cardView.setCardBackgroundColor(getResources().getColor(R.color.cinzento));
            cardView.setRadius(20);

            ImageView image = (ImageView) layout.findViewById(R.id.toast_icon);
            image.setBackgroundResource(R.drawable.ic_action_cancel);

            TextView text = (TextView) layout.findViewById(R.id.toast_Text);
            text.setText("Erro na conexão ao servidor!");

            Toast toast = new Toast(getActivity().getApplicationContext());
            toast.setGravity(Gravity.BOTTOM, 0, 50);
            toast.setDuration(Toast.LENGTH_LONG);
            toast.setView(layout);
            toast.show();

问题的截图(部分内容) it is noticeable the line

进一步测试后,所有问题都出现在cardView上,它会产生干扰背景的奇怪故障。

如果有人知道解决方案请告诉我,我真的很想在Toas中使用cardView。这不是一个非常大的路线......但

0 个答案:

没有答案