我正在展示一个定制的吐司,带有一些生物的背景图片,但我希望吐司是我定义的尺寸。
在正常的吐司中使用它是不可能的:
View view = toast.getView();
view.setBackgroundResource(R.drawable.go);
toast.setView(view);`
然后我使用了这样的布局inflater:
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.hit_toast,
(ViewGroup) findViewById(R.id.custom_toast_layout));
layout.setBackgroundResource(R.drawable.go);
TextView text = (TextView) layout.findViewById(R.id.textToShow);
// Set the Text to show in TextView
text.setText(msg);
Toast toast = new Toast(getApplicationContext());
//toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(layout);
toast.show();
和我的xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/custom_toast_layout"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:background="#DAAA"
android:gravity="center"
android:orientation="horizontal"
android:padding="8dp" >
<TextView
android:id="@+id/textToShow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="ll"
android:textColor="#00ffff" />
</LinearLayout>`
但是吐司的大小仍然相同,只是位置改变了。
答案 0 :(得分:2)
如果你想自定义吐司,那么SuperToast library就是答案。
它在定制方面具有灵活性和无限性!
答案 1 :(得分:1)
我尝试改变宽度和高度的尺寸。但似乎你永远不能展示宽度和高度指定的烤面包......烤面包根据内容改变它们的形状,说背景图片或文字内部.... 这适用于android中提供的默认吐司。
您可以随时创建名为toast_layout
的小布局,并将其可见性设置为INVISIBLE,而不是这样做。在要显示它的同一布局文件中创建它。把它放在你想要吐司的任何地方。
<RelativeLayout
android:id="@+id/toast_layout"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:background="@drawable/toastbackground"
android:visibility="invisible" >
<ImageView
android:id="@+id/toast_img"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:src="@drawable/man" />
<TextView
android:id="@+id/toast_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/down_img"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#00ffff"
android:textStyle="bold|italic" />
</RelativeLayout>
在res / anim文件夹中创建一个名为fade_in_out
的tweenAnimation文件,与普通的toast不同,您可以根据需要自定义fadein和fadout属性。
如果要显示吐司内部活动,请调用以下函数,如: -
clone_toast(R.drawable.image,"Yao it Works...");
void clone_toast(int ids, String msg) {
toast_img.setImageResource(ids);
toast_text.setText(msg);
toast_layot.setVisibility(View.VISIBLE);
toast_layout.startAnimation(fade_in_out);
}