所以我使用自定义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();
问题的截图(部分内容)
进一步测试后,所有问题都出现在cardView上,它会产生干扰背景的奇怪故障。
如果有人知道解决方案请告诉我,我真的很想在Toas中使用cardView。这不是一个非常大的路线......但