在祝酒词中显示图像

时间:2013-12-09 05:35:42

标签: android toast

我在 android 项目中使用了 toast 来显示文字。我可以使用 toast 来显示图片弹出消息。如果是这样,有人可以给我一些有用的代码段。谢谢!

4 个答案:

答案 0 :(得分:4)

在/ res / layout文件夹中创建文件'toast.xml',并将以下内容复制到文件中并保存文件。          

<ImageView android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginRight="1dp" />

<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginRight="4dp"
android:textColor="#FFF" />

    </LinearLayout>

在同一个/ res / layout文件夹中,您必须创建一个 roundborder.xml 文件,其中背景的布局位于此处。在这种情况下,圆形边框具有一些背景透明度。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="4dp" />
<padding android:left="2dp"
android:top="2dp"
android:right="2dp"
android:bottom="2dp" />
<solid android:color="#CC4D404D" />
<stroke android:width="2dp" android:color="#CC8D808D" />
</shape>

Toast布局将通过R类提供。现在,我们必须使用toast布局创建一个View。为此,我们必须膨胀xml文件。 xl文件的名称用作第一个参数R.layout.toast。作为第二个参数,使用了LinearLayout的id。

  

查看toastView = getLayoutInflater()。inflate(R.layout.toast,   (ViewGroup中)findViewById(R.id.toastLayout));

接下来,我们必须将图像分配给ImageView,并将消息(显示)分配给TextView。您可以使用资源标识符或可绘制的位图作为图像。

ImageView imageView = (ImageView)toastView.findViewById(R.id.image);

imageView.setImageResource(R.drawable.icon);
//    imageView.setBackgroundDrawable(bitmapDrawable);

TextView textView = (TextView)toastView.findViewById(R.id.text);

textView.setText("Yes, a Toast with an image!");

最后,我们必须创建并展示Toast,我们已经完成了。

Toast toast = new Toast(context);

toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(toastView);

toast.show();

答案 1 :(得分:1)

您可以通过此链接查看我的示例代码: https://github.com/Hesamedin/CustomToast

最重要的课程是this class,它来自Toast课程并对其进行了修改。

然后以正常的方式使用它像Toast这样:

btnCustomToast = (Button) findViewById(R.id.btnCustomToast);
        btnCustomToast.setTypeface(pacificoFont);
        btnCustomToast.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                MyToast.makeText(getApplicationContext(), "This is custom toast message.", Toast.LENGTH_LONG).show();
            }
        });

答案 2 :(得分:1)

正如我在this帖子中所评论的那样,如果您不想创建自己的Toast View,则可以使用我的SuperToasts库。您可以使用以下代码轻松显示图像:

 SuperToast superToast = new SuperToast(getActivity());  
 superToast.setDuration(SuperToast.DURATION_LONG); 
 superToast.setText("Hello world!");  
 superToast.setIconResource(R.drawable.image, SuperToast.IconPosition.LEFT);
 superToast.show();  

该库还附带了一组已制作的图标,并有一系列可配置的选项,如动画,背景,文本颜色等。或者,如果您需要在活动中使用Toast,则可以使用SuperActivityToasts这将使您可以访问可点击的按钮,进度条,解雇听众等。

答案 3 :(得分:0)

可以用吐司

代码:在代码部分中添加

LayoutInflater inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.like_popup, (ViewGroup) activity.findViewById(R.id.like_popup_layout));
ImageView imageView = (ImageView) layout.findViewById(R.id.like_popup_iv);
imageView.setBackgroundResource(R.drawable.white_delete_icon);

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

设计:like_popup.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/cred_menu_like_popup_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    android:background="@drawable/customshapetransparent"
    android:paddingTop="35dp"
    android:paddingBottom="25dp"
    android:paddingLeft="35dp"
    android:paddingRight="35dp"
    >
    <ImageView
        android:id="@+id/like_popup_iv"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:layout_centerHorizontal="true"
        />

</RelativeLayout>

设计:customshapetransparent.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
  <solid android:color="#60000000" />  
    <corners android:radius="8dp" />
</shape>

希望这会给你想要的东西