2013-12-09 1 views
3

я использовал тостов в моих андроид проектов для отображения текста . Могу ли я использовать тосты для отображения image всплывающее сообщение. Если да, то кто-то может дать мне полезный сегмент кода. Спасибо!показать изображение в тосте

+2

Вы можете создать собственное диалоговое окно и использовать анимацию, чтобы она выглядела в затухающем движении, точно так же, как тост –

+1

http://learnandroideasily.blogspot.in/2013/05/android -custom-toast.html Проверьте это. – Dhaval

+0

yep. Я могу использовать специальный диалог. Но то, что мне нужно, это сообщение должно исчезнуть за короткое время в качестве тоста. я могу сделать это с помощью специального диалога. –

ответ

4

Создайте файл «toast.xml» в папке/RES/макета и скопируйте следующее содержимое в файл и сохранить файл.

<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> 

В папке же/Рез/макет вы должны создать 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> 

Тост-макет будет доступен через класс R. Теперь нам нужно создать представление с макетом тоста. Для этого нам нужно раздуть xml-файл. Имя файла xl используется как первый аргумент R.layout.toast. В качестве второго аргумента используется идентификатор LinearLayout.

Посмотреть toastView = getLayoutInflater() раздуть (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

Вы можете увидеть мой пример кода по этой ссылке: 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(); 
      } 
     }); 
1

Как я заметил в this темы вы можете использовать мою SuperToasts библиотеку, если вы не чувствуете, как создать свой собственный Toast View. Вы можете легко отображать изображение со следующим кодом:

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

Библиотека также поставляется с кучей иконок уже сделано и имеет кучу настраиваемых параметров, такие как анимация, фоны, цвет текста и т.д. В качестве альтернативы вы можете использовать SuperActivityToasts, если вам нужно использовать Toast в рамках Activity, который даст вам доступ к кнопкам с кликом, индикаторы выполнения, увольнение слушателей и т. Д.

+0

Эй, хорошая работа с ** библиотекой SuperToasts **. Я люблю это. Большое спасибо !!!!! –

+0

упс! У меня проблемы. Когда я использую SuperToast внутри фрагмента, приложение получает остановку. в чем причина этого и как я могу это исправить. –

+0

Вы должны использовать Контекст активности для SuperActivityToast. Что скажет стопка? –

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> 

H ope это даст вам то, что вы хотите достичь

 Смежные вопросы

  • Нет связанных вопросов^_^