【问题标题】:How to change android toast to snackbar如何将android toast更改为snackbar
【发布时间】:2017-04-17 06:37:55
【问题描述】:

我正在使用 android toast 消息向用户显示消息,但即使设置为 _LENGTH_LONG 的持续时间似乎也不够。我想尝试 SnackBar 或任何其他显示方法,但我被卡住了。我该如何申请?这是我的代码。

@Override
    protected void onPostExecute(String  result) {

        Toast toast = Toast.makeText(ctx, result, Toast.LENGTH_LONG);
        toast.setGravity(Gravity.TOP, 0, 130);
        toast.show();

    }

我怎样才能将这个 toast 替换为像小吃栏或消息框这样的东西,可以让它显示更长的时间,比如 1 分钟?

【问题讨论】:

标签: android android-toast android-snackbar


【解决方案1】:

非常相似:

 import android.support.design.widget.Snackbar;
    ...
    coordinatorLayout = (CoordinatorLayout) findViewById(R.id
                    .coordinatorLayout);
    Snackbar snackbar = Snackbar.make(coordinatorLayout, "MESSAGE", Snackbar.LENGTH_LONG);
    snackbar.show();

【讨论】:

【解决方案2】:

试试这个。

String message;
            int color;
            message = "hello";
            color = Color.RED;
            Snackbar snackbar = Snackbar.make(findViewById(R.id.btn), message, Snackbar.LENGTH_LONG);

            View sbView = snackbar.getView();
            TextView textView = (TextView) sbView.findViewById(android.support.design.R.id.snackbar_text);
            textView.setTextColor(color);
            snackbar.show();

按钮 b1 = (Button) findViewById(R.id.btn);

【讨论】:

    【解决方案3】:

    创建一个活动并在onCreate(bundle) 中获取视图并将AsyncTask 定义为内部类并这样做

    @Override
        protected void onPostExecute(String  result) {
    
    // check view is not null
    
    if(view!=null){
    
    int durationInMills=60000;//your duration
    
    String msg="Your Message";
    
    Snackbar.make(view,msg,durationInMills).show();
    
    }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-31
      • 2019-10-19
      • 2020-10-09
      • 1970-01-01
      • 1970-01-01
      • 2015-10-03
      • 2016-12-29
      • 2021-03-23
      相关资源
      最近更新 更多