title: Issues when relative layout implement swipe-to-refresh layout
body: <p>I'm currently attempting to implement swipe-to-refresh layout into relative layout, but it is extremely insensitive and unstable. When I pull down the screen, it usually either doesn't refresh or it refreshes without progress bar.</p>
  
  <pre><code>&lt;android.support.v4.widget.SwipeRefreshLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:paddingBottom="@dimen/activity_vertical_margin"
  android:paddingLeft="@dimen/activity_horizontal_margin"
  android:paddingRight="@dimen/activity_horizontal_margin"
  android:paddingTop="@dimen/activity_vertical_margin"
  tools:context="com.example.miaor.tutorialweather.MainActivity"
  android:id="@+id/refreshLayout"
  android:background="#fe970b"&gt;
  
  &lt;RelativeLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent"&gt;
  
  &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p></p>
  
  <pre><code>public class MainActivity extends AppCompatActivity{
  
  public static final String TAG = MainActivity.class.getSimpleName();
  @BindView(R.id.TimeString) TextView mTimeLabel;
  @BindView(R.id.TemperatureLabel) TextView mTemperatureLabel;
  @BindView(R.id.HumidityValue) TextView mHumidityValue;
  @BindView(R.id.rainingChanceValue) TextView mChance;
  @BindView(R.id.weatherIcon) ImageView mWeatherIcon;
  @BindView(R.id.SummaryText) TextView mSummaryText;
  @BindView(R.id.refreshLayout) SwipeRefreshLayout mSwipeRefreshLayout;
  
  ///why do we make a new variable of CurrentWeather
  private CurrentWeather mCurrentWeather;
  private String apiKey = "6b9448b8e21c2abe2fb623b25554a77c";
  private double latitude = 31.230708;
  private double longitude = 121.472916;
  private String forecastUrl = "https://api.forecast.io/forecast/" + apiKey +
          "/" + latitude + "," + longitude;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      ButterKnife.bind(this);
  
      ///implement swipe-to-refresh feature
      mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
          @Override
          public void onRefresh() {
              Log.i(TAG, "onRefresh is working");
              getForecast();
          }
      });
  
      getForecast();
  
      Log.d(TAG, "Main UI code is running!");
  }
  </code></pre>