实施Gmail就像屏幕底部的“无连接”警报一样

时间:2014-01-09 10:58:48

标签: android user-interface gmail

以下是Gmail无连接提醒。我将如何在我的应用程序中实现这一目标?

注意:这是关于UI实现的问题,而不是确定是否存在连接。 enter image description here

EDIT ::

底部通知是一个主题为对话框并放在底部的活动,还是某种AlertDialog?

2 个答案:

答案 0 :(得分:1)

我不确定这是Google如何实施他们的对话,但这是我的围棋。我创建了一个类,它将在清单中设置为对话框。因此,当我需要显示警报时,我只需启动Intent及其显示。在活动中我有一个PostDelayed Handler taht将等待3.5秒并结束活动以提供像动画一样的祝酒(类似于Gmail :-))

查找下面的代码

static final int EXIT_DELAY= 3500;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.layout_pesabox_alert);

    WindowManager.LayoutParams params = getWindow().getAttributes();  
    params.x = 5;  
    params.height = 150;  
    params.width = 700;  
    params.y = 5;  
    params.gravity = Gravity.BOTTOM;

    this.getWindow().setAttributes(params);

    Window window = this.getWindow();
    window.setAttributes((android.view.WindowManager.LayoutParams) params);
    window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
    window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);

    new Handler().postDelayed(Exit(), EXIT_DELAY);
}

private Runnable Exit(){
    return new  Runnable(){     

        @Override
        public void run() {
            finish();
        }
    };

}

布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
        android:id="@+id/detailsText"
        android:layout_width="wrap_content"
        android:paddingTop="10dp"
        android:paddingLeft="10dp"
        android:paddingRight="15dp"
        android:layout_height="wrap_content"
        android:drawableLeft="@android:drawable/ic_dialog_alert"
        android:drawablePadding="25dp"
        android:text="@string/connection"
        android:textColor="#ffffff"
        android:textSize="25sp"
        android:typeface="sans" />

</LinearLayout>

答案 1 :(得分:0)

一个非常古老的帖子,但是如果有其他人正在寻找谷歌像#34; Bottom Toast就像Notification&#34;。请参阅Snackbar Material Design。它也可以在支持库中找到。如何使用具有向后兼容性的Snackbar在这个blog中已经很好地解释了。