final frag
This commit is contained in:
parent
8340bbb48c
commit
348fd6866c
@ -2,25 +2,9 @@ package com.amine.myterio.app;
|
|||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import android.support.v7.widget.LinearLayoutManager;
|
|
||||||
import android.support.v7.widget.RecyclerView;
|
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
|
||||||
import android.widget.ImageView;
|
|
||||||
import android.widget.TextView;
|
|
||||||
import android.widget.Toast;
|
|
||||||
import com.amine.myterio.app.adapters.ForecastAdapter;
|
|
||||||
import com.amine.myterio.app.api.WeatherAdapters;
|
|
||||||
import com.amine.myterio.app.api.WeatherApis;
|
|
||||||
import com.amine.myterio.app.config.Config;
|
|
||||||
import com.amine.myterio.app.db.CityDAO;
|
|
||||||
import com.amine.myterio.app.model.City;
|
|
||||||
import com.amine.myterio.app.model.Forecast;
|
|
||||||
import com.melnykov.fab.FloatingActionButton;
|
import com.melnykov.fab.FloatingActionButton;
|
||||||
import retrofit.Callback;
|
|
||||||
import retrofit.RetrofitError;
|
|
||||||
import retrofit.client.Response;
|
|
||||||
|
|
||||||
|
|
||||||
public class DetailsActivity extends AppCompatActivity {
|
public class DetailsActivity extends AppCompatActivity {
|
||||||
@ -31,105 +15,6 @@ public class DetailsActivity extends AppCompatActivity {
|
|||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_details);
|
setContentView(R.layout.activity_details);
|
||||||
|
|
||||||
String cityName = getIntent().getExtras().getString("city_name");
|
|
||||||
|
|
||||||
WeatherAdapters adapters = new WeatherAdapters();
|
|
||||||
final Forecast[] f = {null};
|
|
||||||
final RecyclerView list = (RecyclerView) findViewById(R.id.weekForecast);
|
|
||||||
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
|
|
||||||
list.setLayoutManager(layoutManager);
|
|
||||||
list.setHasFixedSize(true);
|
|
||||||
|
|
||||||
CityDAO dao = CityDAO.getInstance(this);
|
|
||||||
if (cityName != null) {
|
|
||||||
|
|
||||||
isFav = dao.getCity(cityName) != null;
|
|
||||||
WeatherApis.WeatherDailyForecastLocationApi s = adapters.getWeatherForecastLocationAdapter();
|
|
||||||
|
|
||||||
s.cityForecast(cityName, Config.country, new Callback<Forecast>() {
|
|
||||||
@Override
|
|
||||||
public void success(Forecast forecast, Response response) {
|
|
||||||
f[0] = forecast;
|
|
||||||
list.setAdapter(new ForecastAdapter(DetailsActivity.this, f[0]));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void failure(RetrofitError error) {
|
|
||||||
Toast.makeText(getApplicationContext(), getString(R.string.weather_not_available), Toast.LENGTH_SHORT).show();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
WeatherApis.WeatherLocationApi sWeather = adapters.getWeatherLocationAdapter();
|
|
||||||
sWeather.locationWeather(cityName, Config.country, new Callback<City>() {
|
|
||||||
@Override
|
|
||||||
public void success(City c, Response response) {
|
|
||||||
ImageView image = (ImageView) findViewById(R.id.weatherImage);
|
|
||||||
image.setImageDrawable(c.getWeather().get(0).getIconDrawable(DetailsActivity.this, DetailsActivity.this.getPackageName()));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void failure(RetrofitError error) {
|
|
||||||
Toast.makeText(DetailsActivity.this, getString(R.string.weather_get_error), Toast.LENGTH_SHORT).show();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
City city = getIntent().getExtras().getParcelable("city");
|
|
||||||
cityName = city.getName();
|
|
||||||
isFav = dao.getCity(city.getCityIdentifier()) != null;
|
|
||||||
WeatherApis.WeatherDailyForecastApi s = adapters.getWeatherForecastAdapter();
|
|
||||||
|
|
||||||
s.cityForecast(city.getCityIdentifier(), Config.country, new Callback<Forecast>() {
|
|
||||||
@Override
|
|
||||||
public void success(Forecast forecast, Response response) {
|
|
||||||
f[0] = forecast;
|
|
||||||
list.setAdapter(new ForecastAdapter(DetailsActivity.this, f[0]));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void failure(RetrofitError error) {
|
|
||||||
Toast.makeText(getApplicationContext(), getString(R.string.weather_not_available), Toast.LENGTH_SHORT).show();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
WeatherApis.WeatherCityApi sWeather = adapters.getWeatherCityAdapter();
|
|
||||||
sWeather.cityWeather(city.getCityIdentifier(), Config.country, new Callback<City>() {
|
|
||||||
@Override
|
|
||||||
public void success(City c, Response response) {
|
|
||||||
ImageView image = (ImageView) findViewById(R.id.weatherImage);
|
|
||||||
image.setImageDrawable(c.getWeather().get(0).getIconDrawable(DetailsActivity.this, DetailsActivity.this.getPackageName()));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void failure(RetrofitError error) {
|
|
||||||
Toast.makeText(DetailsActivity.this, getString(R.string.weather_get_error), Toast.LENGTH_SHORT).show();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
TextView name = (TextView) findViewById(R.id.cityName);
|
|
||||||
name.setText(cityName);
|
|
||||||
|
|
||||||
fab = (FloatingActionButton) findViewById(R.id.fab);
|
|
||||||
if (isFav) {
|
|
||||||
fab.setImageResource(R.mipmap.ic_favorite_border_black_24dp);
|
|
||||||
} else {
|
|
||||||
fab.setImageResource(R.mipmap.ic_favorite_black_24dp);
|
|
||||||
}
|
|
||||||
fab.setOnClickListener(new View.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
CityDAO dao = CityDAO.getInstance(DetailsActivity.this);
|
|
||||||
if (DetailsActivity.isFav) {
|
|
||||||
dao.deleteCity(f[0].getCity());
|
|
||||||
fab.setImageResource(R.mipmap.ic_favorite_black_24dp);
|
|
||||||
} else {
|
|
||||||
dao.insertCity(f[0].getCity());
|
|
||||||
fab.setImageResource(R.mipmap.ic_favorite_border_black_24dp);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -0,0 +1,141 @@
|
|||||||
|
package com.amine.myterio.app.fragments;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.app.Fragment;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.support.v7.widget.LinearLayoutManager;
|
||||||
|
import android.support.v7.widget.RecyclerView;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.TextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
import com.amine.myterio.app.R;
|
||||||
|
import com.amine.myterio.app.adapters.ForecastAdapter;
|
||||||
|
import com.amine.myterio.app.api.WeatherAdapters;
|
||||||
|
import com.amine.myterio.app.api.WeatherApis;
|
||||||
|
import com.amine.myterio.app.config.Config;
|
||||||
|
import com.amine.myterio.app.db.CityDAO;
|
||||||
|
import com.amine.myterio.app.model.City;
|
||||||
|
import com.amine.myterio.app.model.Forecast;
|
||||||
|
import com.melnykov.fab.FloatingActionButton;
|
||||||
|
import retrofit.Callback;
|
||||||
|
import retrofit.RetrofitError;
|
||||||
|
import retrofit.client.Response;
|
||||||
|
|
||||||
|
public class DetailsFragment extends Fragment {
|
||||||
|
static boolean isFav = true;
|
||||||
|
static FloatingActionButton fab;
|
||||||
|
private Activity mActivity;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAttach(Activity activity) {
|
||||||
|
super.onAttach(activity);
|
||||||
|
mActivity = activity;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||||
|
final View fragView = inflater.inflate(R.layout.details_fragment, null, false);
|
||||||
|
String cityName = getActivity().getIntent().getExtras().getString("city_name");
|
||||||
|
|
||||||
|
WeatherAdapters adapters = new WeatherAdapters();
|
||||||
|
final Forecast[] f = {null};
|
||||||
|
final RecyclerView list = (RecyclerView) fragView.findViewById(R.id.weekForecast);
|
||||||
|
LinearLayoutManager layoutManager = new LinearLayoutManager(mActivity);
|
||||||
|
list.setLayoutManager(layoutManager);
|
||||||
|
list.setHasFixedSize(true);
|
||||||
|
|
||||||
|
CityDAO dao = CityDAO.getInstance(mActivity);
|
||||||
|
if (cityName != null) {
|
||||||
|
|
||||||
|
isFav = dao.getCity(cityName) != null;
|
||||||
|
WeatherApis.WeatherDailyForecastLocationApi s = adapters.getWeatherForecastLocationAdapter();
|
||||||
|
|
||||||
|
s.cityForecast(cityName, Config.country, new Callback<Forecast>() {
|
||||||
|
@Override
|
||||||
|
public void success(Forecast forecast, Response response) {
|
||||||
|
f[0] = forecast;
|
||||||
|
list.setAdapter(new ForecastAdapter(mActivity, f[0]));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void failure(RetrofitError error) {
|
||||||
|
Toast.makeText(mActivity, getString(R.string.weather_not_available), Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
WeatherApis.WeatherLocationApi sWeather = adapters.getWeatherLocationAdapter();
|
||||||
|
sWeather.locationWeather(cityName, Config.country, new Callback<City>() {
|
||||||
|
@Override
|
||||||
|
public void success(City c, Response response) {
|
||||||
|
ImageView image = (ImageView) fragView.findViewById(R.id.weatherImage);
|
||||||
|
image.setImageDrawable(c.getWeather().get(0).getIconDrawable(mActivity, mActivity.getPackageName()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void failure(RetrofitError error) {
|
||||||
|
Toast.makeText(mActivity, getString(R.string.weather_get_error), Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
City city = getActivity().getIntent().getExtras().getParcelable("city");
|
||||||
|
cityName = city.getName();
|
||||||
|
isFav = dao.getCity(city.getCityIdentifier()) != null;
|
||||||
|
WeatherApis.WeatherDailyForecastApi s = adapters.getWeatherForecastAdapter();
|
||||||
|
|
||||||
|
s.cityForecast(city.getCityIdentifier(), Config.country, new Callback<Forecast>() {
|
||||||
|
@Override
|
||||||
|
public void success(Forecast forecast, Response response) {
|
||||||
|
f[0] = forecast;
|
||||||
|
list.setAdapter(new ForecastAdapter(mActivity, f[0]));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void failure(RetrofitError error) {
|
||||||
|
Toast.makeText(mActivity, getString(R.string.weather_not_available), Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
WeatherApis.WeatherCityApi sWeather = adapters.getWeatherCityAdapter();
|
||||||
|
sWeather.cityWeather(city.getCityIdentifier(), Config.country, new Callback<City>() {
|
||||||
|
@Override
|
||||||
|
public void success(City c, Response response) {
|
||||||
|
ImageView image = (ImageView) fragView.findViewById(R.id.weatherImage);
|
||||||
|
image.setImageDrawable(c.getWeather().get(0).getIconDrawable(mActivity, mActivity.getPackageName()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void failure(RetrofitError error) {
|
||||||
|
Toast.makeText(mActivity, getString(R.string.weather_get_error), Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
TextView name = (TextView) fragView.findViewById(R.id.cityName);
|
||||||
|
name.setText(cityName);
|
||||||
|
|
||||||
|
fab = (FloatingActionButton) fragView.findViewById(R.id.fab);
|
||||||
|
if (isFav) {
|
||||||
|
fab.setImageResource(R.mipmap.ic_favorite_border_black_24dp);
|
||||||
|
} else {
|
||||||
|
fab.setImageResource(R.mipmap.ic_favorite_black_24dp);
|
||||||
|
}
|
||||||
|
fab.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
CityDAO dao = CityDAO.getInstance(mActivity);
|
||||||
|
if (isFav) {
|
||||||
|
dao.deleteCity(f[0].getCity());
|
||||||
|
fab.setImageResource(R.mipmap.ic_favorite_black_24dp);
|
||||||
|
} else {
|
||||||
|
dao.insertCity(f[0].getCity());
|
||||||
|
fab.setImageResource(R.mipmap.ic_favorite_border_black_24dp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return fragView;
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
@ -8,38 +8,12 @@
|
|||||||
android:paddingTop="@dimen/activity_vertical_margin"
|
android:paddingTop="@dimen/activity_vertical_margin"
|
||||||
tools:context="com.amine.myterio.app.DetailsActivity">
|
tools:context="com.amine.myterio.app.DetailsActivity">
|
||||||
|
|
||||||
<TextView
|
<fragment
|
||||||
android:id="@+id/cityName"
|
android:id="@+id/details_frag"
|
||||||
android:layout_width="wrap_content"
|
android:name="com.amine.myterio.app.fragments.DetailsFragment"
|
||||||
android:layout_height="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_alignParentTop="true"
|
android:layout_height="fill_parent"
|
||||||
android:layout_centerHorizontal="true"
|
android:layout_weight="1"
|
||||||
android:textAppearance="?android:attr/textAppearanceLarge"/>
|
tools:layout="@layout/details_fragment"/>
|
||||||
|
|
||||||
<ImageView
|
</LinearLayout>
|
||||||
android:id="@+id/weatherImage"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_below="@+id/cityName"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:layout_marginTop="90dp"/>
|
|
||||||
|
|
||||||
<android.support.v7.widget.RecyclerView
|
|
||||||
android:id="@+id/weekForecast"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_below="@+id/weatherImage"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:layout_marginTop="90dp"/>
|
|
||||||
|
|
||||||
<com.melnykov.fab.FloatingActionButton
|
|
||||||
android:id="@+id/fab"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_alignParentRight="true"
|
|
||||||
android:layout_gravity="bottom|right"
|
|
||||||
android:layout_margin="16dp"/>
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
||||||
|
45
app/src/main/res/layout-large/details_fragment.xml
Normal file
45
app/src/main/res/layout-large/details_fragment.xml
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
<RelativeLayout 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.amine.myterio.app.DetailsActivity">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/cityName"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:textAppearance="?android:attr/textAppearanceLarge"/>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/weatherImage"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@+id/cityName"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginTop="90dp"/>
|
||||||
|
|
||||||
|
<android.support.v7.widget.RecyclerView
|
||||||
|
android:id="@+id/weekForecast"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:layout_below="@+id/weatherImage"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginTop="90dp"/>
|
||||||
|
|
||||||
|
<com.melnykov.fab.FloatingActionButton
|
||||||
|
android:id="@+id/fab"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:layout_alignParentRight="true"
|
||||||
|
android:layout_gravity="bottom|right"
|
||||||
|
android:layout_margin="16dp"/>
|
||||||
|
|
||||||
|
</RelativeLayout>
|
@ -1,45 +1,15 @@
|
|||||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="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.amine.myterio.app.DetailsActivity">
|
tools:context="com.amine.myterio.app.DetailsActivity">
|
||||||
|
|
||||||
<TextView
|
<fragment
|
||||||
android:id="@+id/cityName"
|
android:id="@+id/details_frag"
|
||||||
android:layout_width="wrap_content"
|
android:name="com.amine.myterio.app.fragments.DetailsFragment"
|
||||||
android:layout_height="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_alignParentTop="true"
|
android:layout_height="fill_parent"
|
||||||
android:layout_centerHorizontal="true"
|
android:layout_weight="1"
|
||||||
android:textAppearance="?android:attr/textAppearanceLarge"/>
|
tools:layout="@layout/details_fragment"/>
|
||||||
|
|
||||||
<ImageView
|
</LinearLayout>
|
||||||
android:id="@+id/weatherImage"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_below="@+id/cityName"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:layout_marginTop="20dp"/>
|
|
||||||
|
|
||||||
<android.support.v7.widget.RecyclerView
|
|
||||||
android:id="@+id/weekForecast"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_below="@+id/weatherImage"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:layout_marginTop="37dp"/>
|
|
||||||
|
|
||||||
<com.melnykov.fab.FloatingActionButton
|
|
||||||
android:id="@+id/fab"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_alignParentRight="true"
|
|
||||||
android:layout_gravity="bottom|right"
|
|
||||||
android:layout_margin="16dp"/>
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
||||||
|
45
app/src/main/res/layout-normal/details_fragment.xml
Normal file
45
app/src/main/res/layout-normal/details_fragment.xml
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
<RelativeLayout 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.amine.myterio.app.DetailsActivity">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/cityName"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:textAppearance="?android:attr/textAppearanceLarge"/>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/weatherImage"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@+id/cityName"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginTop="20dp"/>
|
||||||
|
|
||||||
|
<android.support.v7.widget.RecyclerView
|
||||||
|
android:id="@+id/weekForecast"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:layout_below="@+id/weatherImage"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginTop="37dp"/>
|
||||||
|
|
||||||
|
<com.melnykov.fab.FloatingActionButton
|
||||||
|
android:id="@+id/fab"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:layout_alignParentRight="true"
|
||||||
|
android:layout_gravity="bottom|right"
|
||||||
|
android:layout_margin="16dp"/>
|
||||||
|
|
||||||
|
</RelativeLayout>
|
@ -1,47 +1,15 @@
|
|||||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:fab="http://schemas.android.com/apk/res-auto"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="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.amine.myterio.app.DetailsActivity">
|
tools:context="com.amine.myterio.app.DetailsActivity">
|
||||||
|
|
||||||
<TextView
|
<fragment
|
||||||
android:id="@+id/cityName"
|
android:id="@+id/details_frag"
|
||||||
android:layout_width="wrap_content"
|
android:name="com.amine.myterio.app.fragments.DetailsFragment"
|
||||||
android:layout_height="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_alignParentTop="true"
|
android:layout_height="fill_parent"
|
||||||
android:layout_centerHorizontal="true"
|
android:layout_weight="1"
|
||||||
android:textAppearance="?android:attr/textAppearanceLarge"/>
|
tools:layout="@layout/details_fragment"/>
|
||||||
|
|
||||||
<ImageView
|
</LinearLayout>
|
||||||
android:id="@+id/weatherImage"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_below="@+id/cityName"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:layout_marginTop="5dp"/>
|
|
||||||
|
|
||||||
<android.support.v7.widget.RecyclerView
|
|
||||||
android:id="@+id/weekForecast"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_below="@+id/weatherImage"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:layout_marginTop="17dp"/>
|
|
||||||
|
|
||||||
<com.melnykov.fab.FloatingActionButton
|
|
||||||
android:id="@+id/fab"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_alignParentRight="true"
|
|
||||||
android:layout_gravity="bottom|right"
|
|
||||||
android:layout_margin="16dp"
|
|
||||||
fab:fab_type="mini"/>
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
||||||
|
47
app/src/main/res/layout-small/details_fragment.xml
Normal file
47
app/src/main/res/layout-small/details_fragment.xml
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:fab="http://schemas.android.com/apk/res-auto"
|
||||||
|
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.amine.myterio.app.DetailsActivity">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/cityName"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:textAppearance="?android:attr/textAppearanceLarge"/>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/weatherImage"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@+id/cityName"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginTop="5dp"/>
|
||||||
|
|
||||||
|
<android.support.v7.widget.RecyclerView
|
||||||
|
android:id="@+id/weekForecast"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:layout_below="@+id/weatherImage"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginTop="17dp"/>
|
||||||
|
|
||||||
|
<com.melnykov.fab.FloatingActionButton
|
||||||
|
android:id="@+id/fab"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:layout_alignParentRight="true"
|
||||||
|
android:layout_gravity="bottom|right"
|
||||||
|
android:layout_margin="16dp"
|
||||||
|
fab:fab_type="mini"/>
|
||||||
|
|
||||||
|
</RelativeLayout>
|
@ -1,45 +1,15 @@
|
|||||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="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.amine.myterio.app.DetailsActivity">
|
tools:context="com.amine.myterio.app.DetailsActivity">
|
||||||
|
|
||||||
<TextView
|
<fragment
|
||||||
android:id="@+id/cityName"
|
android:id="@+id/details_frag"
|
||||||
android:layout_width="wrap_content"
|
android:name="com.amine.myterio.app.fragments.DetailsFragment"
|
||||||
android:layout_height="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_alignParentTop="true"
|
android:layout_height="fill_parent"
|
||||||
android:layout_centerHorizontal="true"
|
android:layout_weight="1"
|
||||||
android:textAppearance="?android:attr/textAppearanceLarge"/>
|
tools:layout="@layout/details_fragment"/>
|
||||||
|
|
||||||
<ImageView
|
</LinearLayout>
|
||||||
android:id="@+id/weatherImage"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_below="@+id/cityName"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:layout_marginTop="150dp"/>
|
|
||||||
|
|
||||||
<android.support.v7.widget.RecyclerView
|
|
||||||
android:id="@+id/weekForecast"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_below="@+id/weatherImage"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:layout_marginTop="37dp"/>
|
|
||||||
|
|
||||||
<com.melnykov.fab.FloatingActionButton
|
|
||||||
android:id="@+id/fab"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_alignParentRight="true"
|
|
||||||
android:layout_gravity="bottom|right"
|
|
||||||
android:layout_margin="16dp"/>
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
||||||
|
45
app/src/main/res/layout-xlarge/details_fragment.xml
Normal file
45
app/src/main/res/layout-xlarge/details_fragment.xml
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
<RelativeLayout 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.amine.myterio.app.DetailsActivity">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/cityName"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:textAppearance="?android:attr/textAppearanceLarge"/>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/weatherImage"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@+id/cityName"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginTop="150dp"/>
|
||||||
|
|
||||||
|
<android.support.v7.widget.RecyclerView
|
||||||
|
android:id="@+id/weekForecast"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:layout_below="@+id/weatherImage"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginTop="37dp"/>
|
||||||
|
|
||||||
|
<com.melnykov.fab.FloatingActionButton
|
||||||
|
android:id="@+id/fab"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:layout_alignParentRight="true"
|
||||||
|
android:layout_gravity="bottom|right"
|
||||||
|
android:layout_margin="16dp"/>
|
||||||
|
|
||||||
|
</RelativeLayout>
|
@ -1,45 +1,15 @@
|
|||||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="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.amine.myterio.app.DetailsActivity">
|
tools:context="com.amine.myterio.app.DetailsActivity">
|
||||||
|
|
||||||
<TextView
|
<fragment
|
||||||
android:id="@+id/cityName"
|
android:id="@+id/details_frag"
|
||||||
android:layout_width="wrap_content"
|
android:name="com.amine.myterio.app.fragments.DetailsFragment"
|
||||||
android:layout_height="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_alignParentTop="true"
|
android:layout_height="fill_parent"
|
||||||
android:layout_centerHorizontal="true"
|
android:layout_weight="1"
|
||||||
android:textAppearance="?android:attr/textAppearanceLarge"/>
|
tools:layout="@layout/details_fragment"/>
|
||||||
|
|
||||||
<ImageView
|
</LinearLayout>
|
||||||
android:id="@+id/weatherImage"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_below="@+id/cityName"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:layout_marginTop="20dp"/>
|
|
||||||
|
|
||||||
<android.support.v7.widget.RecyclerView
|
|
||||||
android:id="@+id/weekForecast"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_below="@+id/weatherImage"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:layout_marginTop="37dp"/>
|
|
||||||
|
|
||||||
<com.melnykov.fab.FloatingActionButton
|
|
||||||
android:id="@+id/fab"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_alignParentRight="true"
|
|
||||||
android:layout_gravity="bottom|right"
|
|
||||||
android:layout_margin="16dp"/>
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
||||||
|
45
app/src/main/res/layout/details_fragment.xml
Normal file
45
app/src/main/res/layout/details_fragment.xml
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
<RelativeLayout 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.amine.myterio.app.DetailsActivity">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/cityName"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:textAppearance="?android:attr/textAppearanceLarge"/>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/weatherImage"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@+id/cityName"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginTop="20dp"/>
|
||||||
|
|
||||||
|
<android.support.v7.widget.RecyclerView
|
||||||
|
android:id="@+id/weekForecast"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:layout_below="@+id/weatherImage"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginTop="37dp"/>
|
||||||
|
|
||||||
|
<com.melnykov.fab.FloatingActionButton
|
||||||
|
android:id="@+id/fab"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:layout_alignParentRight="true"
|
||||||
|
android:layout_gravity="bottom|right"
|
||||||
|
android:layout_margin="16dp"/>
|
||||||
|
|
||||||
|
</RelativeLayout>
|
Loading…
Reference in New Issue
Block a user