2013-06-06 3 views
-2

Я хочу добавить пользовательские компоненты пользовательского интерфейса в мое сообщение тоста. Как я могу это достичь?Как создать собственное тост-сообщение?

+0

Вы не можете сделать «Toast» в коде 'XML'. Однако вы можете сделать программную кнопку 'button' и' Toast' в 'Java'. Так что это одно и то же, но не в коде 'XML', а в коде' Java'. – Bigflow

ответ

1
layout = (LinearLayout) findViewById(R.id.statsviewlayout); 
    Button buyButton = new Button(this); 
    buyButton.setText(R.string.button_back); 
    buyButton.setLayoutParams(new LayoutParams(
     ViewGroup.LayoutParams.WRAP_CONTENT, 
      ViewGroup.LayoutParams.WRAP_CONTENT)); 
    layout.addView(GT); // line 27 
    layout.addView(buyButton);  
    setContentView(layout);  

buyButton.setOnClickListener(new Button.OnClickListener() { 
    public void onClick(View v) { 
      Toast.makeText(MainActivity.this, "This is Toast!!!", Toast.LENGTH_SHORT).show(); 

    } 
}); 
+0

Помните, что это код 'Java', а не' XML', но это хорошее решение, +1 – Bigflow

+0

, потому что ему нужна пользовательская кнопка ... – Riser

+0

Я использую эту часть: ': всякий раз, когда я копирую, тогда вставьте код кнопки в файл xml' – Bigflow

3

Вы можете создать пользовательскую кнопку, расширив класс Button.

public class CustomButton extends Button { 

public CustomButton (Context context) { 
    super(context); 

} 

public CustomButton (Context context, AttributeSet attrs) { 
    super(context, attrs); 

} 

public CustomButton (Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 

    } 
} 

Внутри этого класса можно присвоить ему OnClickListener, который показывает Toast с вашим сообщением. А затем в вашем файле XML вы можете ссылаться на него следующим образом.

<?xml version="1.0" encoding="utf-8"?> 
<your.package.name.CustomButton 
xmlns:android="http://schemas.android.com/apk/res/android"/> 
Смежные вопросы