How can I show no internet connection message like in facebook app that appears below the tab view.
Aboulfotoh
You can design this in your XML file and then set its visibility to invisible like this:
<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>
In your code use the broadcast receiver like this:
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);
}
}
};
来源:https://stackoverflow.com/questions/17647465/facebook-app-type-no-internet-connection-message