android - Facebook 应用程序类型无互联网连接消息

标签 android android-wifi android-dialog android-facebook

我怎样才能像在标签 View 下方显示的 facebook 应用程序中那样显示无互联网连接消息。

Facebook message

最佳答案

您可以在您的 XML 文件中设计它,然后将其可见性设置为不可见,如下所示:

<RelativeLayout
    android:id="@+id/relativelayout_connection"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:alpha="0.8"
    android:background="@android:color/black" >

    <TextView
        android:id="@+id/textView_noInternetConnection"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_centerInParent="true"
        android:text="No Internet Connection."
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="@android:color/white" />

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/textView_noInternetConnection"
        android:layout_alignParentTop="true"
        android:layout_toLeftOf="@+id/textView_noInternetConnection"
        android:src="@drawable/warrning" />
</RelativeLayout>

在你的代码中像这样使用广播接收器:

private BroadcastReceiver mConnReceiver = new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {
        boolean noConnectivity = intent.getBooleanExtra(
                ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);
        /*String reason = intent
                .getStringExtra(ConnectivityManager.EXTRA_REASON);*/
        boolean isFailover = intent.getBooleanExtra(
                ConnectivityManager.EXTRA_IS_FAILOVER, false);

        @SuppressWarnings("deprecation")
        NetworkInfo currentNetworkInfo = (NetworkInfo) intent
                .getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
        // NetworkInfo otherNetworkInfo = (NetworkInfo)
        // intent.getParcelableExtra(ConnectivityManager.EXTRA_OTHER_NETWORK_INFO);

        if (noConnectivity){    
            if(mRelativeLayout != null)
            mRelativeLayout.setVisibility(View.VISIBLE);

        }
        else if (currentNetworkInfo.isConnected()) {
            mRelativeLayout.setVisibility(View.GONE);


        } else if (isFailover) {
            Toast.makeText(getApplicationContext(), "Failover",
                    Toast.LENGTH_LONG).show();
        } else {
            mRelativeLayout.setVisibility(View.GONE);               
        }
    }       
};

关于android - Facebook 应用程序类型无互联网连接消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17647465/

相关文章:

android - 如何在Eclipse中配置javah工具

android - 从一组非常稀疏的 wifi 数据生成 3d 网格

android - 警报对话框 : How To Remove Black Borders Above and Below View

android - 如何在按钮顶部创建对话框

android - 我们可以在 Android 中使用 wi-fi 热点连接 10 个以上的设备吗

android - Dialog 不会在按下按钮时触发关闭监听器

android - 无法获取 OverlayItem Drawable 的高度

c# - Xamarin Forms 没有从 Web 服务创建预期的返回类型

java - 使用 VpnService 的 Android http 隧道

Android的proxy混淆文档资源