trucs
This commit is contained in:
parent
243ee723ed
commit
62f8455e5d
2
.idea/vcs.xml
generated
2
.idea/vcs.xml
generated
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="" />
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
@ -1,7 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.amine.myterio.app" >
|
||||
<manifest
|
||||
package="com.amine.myterio.app"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
@ -16,6 +19,18 @@
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".SearchActivity"
|
||||
android:label="@string/title_activity_search"
|
||||
android:parentActivityName=".MainActivity">
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value="com.amine.myterio.app.MainActivity"/>
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".DetailsActivity"
|
||||
android:label="@string/title_activity_details">
|
||||
</activity>
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
|
39
app/src/main/java/com/amine/myterio/app/DetailsActivity.java
Normal file
39
app/src/main/java/com/amine/myterio/app/DetailsActivity.java
Normal file
@ -0,0 +1,39 @@
|
||||
package com.amine.myterio.app;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.app.ActionBarActivity;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
|
||||
|
||||
public class DetailsActivity extends ActionBarActivity {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_details);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
// Inflate the menu; this adds items to the action bar if it is present.
|
||||
getMenuInflater().inflate(R.menu.menu_details, menu);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
// Handle action bar item clicks here. The action bar will
|
||||
// automatically handle clicks on the Home/Up button, so long
|
||||
// as you specify a parent activity in AndroidManifest.xml.
|
||||
int id = item.getItemId();
|
||||
|
||||
//noinspection SimplifiableIfStatement
|
||||
if (id == R.id.action_settings) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
package com.amine.myterio.app;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.content.res.Configuration;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
@ -8,6 +9,8 @@ import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import com.amine.myterio.app.adapters.CitiesAdapter;
|
||||
import com.amine.myterio.app.db.CityDAO;
|
||||
import com.amine.myterio.app.model.City;
|
||||
import com.melnykov.fab.FloatingActionButton;
|
||||
@ -76,7 +79,13 @@ public class MainActivity extends AppCompatActivity {
|
||||
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
|
||||
fab.attachToRecyclerView(mRecyclerView);
|
||||
|
||||
|
||||
fab.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Intent intent = new Intent(MainActivity.this, SearchActivity.class);
|
||||
startActivity(intent);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
102
app/src/main/java/com/amine/myterio/app/SearchActivity.java
Normal file
102
app/src/main/java/com/amine/myterio/app/SearchActivity.java
Normal file
@ -0,0 +1,102 @@
|
||||
package com.amine.myterio.app;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.*;
|
||||
import com.amine.myterio.app.api.CitiesAdapters;
|
||||
import com.amine.myterio.app.api.CitiesApi;
|
||||
import com.amine.myterio.app.api.Predictions;
|
||||
import com.amine.myterio.app.config.Config;
|
||||
import com.amine.myterio.app.model.Countries;
|
||||
import retrofit.Callback;
|
||||
import retrofit.RetrofitError;
|
||||
import retrofit.client.Response;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public class SearchActivity extends AppCompatActivity {
|
||||
private final List<String> citiesArray = new ArrayList<String>();
|
||||
private Countries countries;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_search);
|
||||
|
||||
final SearchView s = (SearchView) findViewById(R.id.searchView);
|
||||
ListView l = (ListView) findViewById(R.id.listView2);
|
||||
|
||||
final ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, citiesArray);
|
||||
l.setAdapter(adapter);
|
||||
|
||||
l.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||
TextView t = (TextView) view;
|
||||
s.setQuery(t.getText(), true);
|
||||
}
|
||||
});
|
||||
|
||||
s.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
|
||||
@Override
|
||||
public boolean onQueryTextSubmit(String query) {
|
||||
Intent intent = new Intent(SearchActivity.this, DetailsActivity.class);
|
||||
startActivity(intent);
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onQueryTextChange(String newText) {
|
||||
final boolean[] found = {false};
|
||||
|
||||
CitiesAdapters adapters = new CitiesAdapters();
|
||||
CitiesApi.AutocompleteApi s = adapters.getCitiesForAutocomplete();
|
||||
s.autocompletePlace(newText, Config.placesApiKey, new Callback<Predictions>() {
|
||||
@Override
|
||||
public void success(Predictions predictions, Response response) {
|
||||
List<String> cities = predictions.getCities();
|
||||
citiesArray.clear();
|
||||
found[0] = !cities.isEmpty();
|
||||
citiesArray.addAll(cities);
|
||||
adapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void failure(RetrofitError error) {
|
||||
Toast.makeText(getApplicationContext(), "Erreur lors de la récupération des pays", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
});
|
||||
return found[0];
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
// Inflate the menu; this adds items to the action bar if it is present.
|
||||
getMenuInflater().inflate(R.menu.menu_search, menu);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
// Handle action bar item clicks here. The action bar will
|
||||
// automatically handle clicks on the Home/Up button, so long
|
||||
// as you specify a parent activity in AndroidManifest.xml.
|
||||
int id = item.getItemId();
|
||||
|
||||
//noinspection SimplifiableIfStatement
|
||||
if (id == R.id.action_settings) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.amine.myterio.app;
|
||||
package com.amine.myterio.app.adapters;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
@ -8,6 +8,7 @@ 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.api.WeatherAdapters;
|
||||
import com.amine.myterio.app.api.WeatherApis;
|
||||
import com.amine.myterio.app.model.City;
|
||||
@ -21,21 +22,6 @@ public class CitiesAdapter extends RecyclerView.Adapter<CitiesAdapter.ViewHolder
|
||||
private static ArrayList<City> mDataset;
|
||||
private static Context c;
|
||||
|
||||
public class ViewHolder extends RecyclerView.ViewHolder implements RecyclerView.OnClickListener{
|
||||
public View mCardView;
|
||||
|
||||
public ViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
mCardView = itemView;
|
||||
itemView.setOnClickListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
// Go to details activity
|
||||
}
|
||||
}
|
||||
|
||||
public CitiesAdapter(ArrayList<City> cities, Context c) {
|
||||
mDataset = cities;
|
||||
this.c = c;
|
||||
@ -62,6 +48,9 @@ public class CitiesAdapter extends RecyclerView.Adapter<CitiesAdapter.ViewHolder
|
||||
currentCity[0] = city;
|
||||
// Update with found data
|
||||
|
||||
TextView temp = (TextView) holder.mCardView.findViewById(R.id.temp);
|
||||
temp.setText("" + city.getMain().getTemp());
|
||||
|
||||
TextView maxTemp = (TextView) holder.mCardView.findViewById(R.id.max_temp);
|
||||
maxTemp.setText("" + city.getMain().getTemp_max());
|
||||
|
||||
@ -89,4 +78,19 @@ public class CitiesAdapter extends RecyclerView.Adapter<CitiesAdapter.ViewHolder
|
||||
public int getItemCount() {
|
||||
return mDataset.size();
|
||||
}
|
||||
|
||||
public class ViewHolder extends RecyclerView.ViewHolder implements RecyclerView.OnClickListener {
|
||||
public View mCardView;
|
||||
|
||||
public ViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
mCardView = itemView;
|
||||
itemView.setOnClickListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
// Go to details activity
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
package com.amine.myterio.app.api;
|
||||
|
||||
import retrofit.RestAdapter;
|
||||
|
||||
public class CitiesAdapters {
|
||||
RestAdapter restAdapter;
|
||||
|
||||
public CitiesAdapters() {
|
||||
this.restAdapter = new RestAdapter.Builder()
|
||||
.setEndpoint("https://maps.googleapis.com")
|
||||
.build();
|
||||
}
|
||||
|
||||
public CitiesApi.AutocompleteApi getCitiesForAutocomplete() {
|
||||
return restAdapter.create(CitiesApi.AutocompleteApi.class);
|
||||
}
|
||||
}
|
12
app/src/main/java/com/amine/myterio/app/api/CitiesApi.java
Normal file
12
app/src/main/java/com/amine/myterio/app/api/CitiesApi.java
Normal file
@ -0,0 +1,12 @@
|
||||
package com.amine.myterio.app.api;
|
||||
|
||||
import retrofit.Callback;
|
||||
import retrofit.http.GET;
|
||||
import retrofit.http.Query;
|
||||
|
||||
public class CitiesApi {
|
||||
public interface AutocompleteApi {
|
||||
@GET("/maps/api/place/autocomplete/json")
|
||||
void autocompletePlace(@Query("input") String location, @Query("key") String apiKey, Callback<Predictions> cb);
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package com.amine.myterio.app.api;
|
||||
|
||||
import com.amine.myterio.app.model.City;
|
||||
|
||||
public class PredictionCities {
|
||||
public String description;
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public City toCity() {
|
||||
return new City(this.description);
|
||||
}
|
||||
}
|
24
app/src/main/java/com/amine/myterio/app/api/Predictions.java
Normal file
24
app/src/main/java/com/amine/myterio/app/api/Predictions.java
Normal file
@ -0,0 +1,24 @@
|
||||
package com.amine.myterio.app.api;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class Predictions {
|
||||
public List<PredictionCities> predictions;
|
||||
|
||||
public List<PredictionCities> getPredictions() {
|
||||
return predictions;
|
||||
}
|
||||
|
||||
public void setPredictions(List<PredictionCities> predictions) {
|
||||
this.predictions = predictions;
|
||||
}
|
||||
|
||||
public ArrayList<String> getCities() {
|
||||
ArrayList<String> cities = new ArrayList<String>();
|
||||
for (PredictionCities city : predictions) {
|
||||
cities.add(city.toCity().getName());
|
||||
}
|
||||
return cities;
|
||||
}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
package com.amine.myterio.app.config;
|
||||
|
||||
public class Config {
|
||||
public static String placesApiKey = "AIzaSyDxSXMcZK1Ybjkz-IuN2EhhFCwRSbaianE";
|
||||
}
|
@ -20,6 +20,10 @@ public class City {
|
||||
|
||||
}
|
||||
|
||||
public City(String description) {
|
||||
this.name = description;
|
||||
}
|
||||
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
|
20
app/src/main/java/com/amine/myterio/app/model/Countries.java
Normal file
20
app/src/main/java/com/amine/myterio/app/model/Countries.java
Normal file
@ -0,0 +1,20 @@
|
||||
package com.amine.myterio.app.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class Countries {
|
||||
public List<Country> countries;
|
||||
|
||||
public Countries() {
|
||||
countries = new ArrayList<Country>();
|
||||
}
|
||||
|
||||
public List<Country> getCountries() {
|
||||
return countries;
|
||||
}
|
||||
|
||||
public void setCountries(List<Country> countries) {
|
||||
this.countries = countries;
|
||||
}
|
||||
}
|
29
app/src/main/java/com/amine/myterio/app/model/Country.java
Normal file
29
app/src/main/java/com/amine/myterio/app/model/Country.java
Normal file
@ -0,0 +1,29 @@
|
||||
package com.amine.myterio.app.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class Country {
|
||||
public String name;
|
||||
public List<City> cities;
|
||||
|
||||
public Country() {
|
||||
cities = new ArrayList<City>();
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public List<City> getCities() {
|
||||
return cities;
|
||||
}
|
||||
|
||||
public void setCities(List<City> cities) {
|
||||
this.cities = cities;
|
||||
}
|
||||
}
|
@ -5,24 +5,24 @@ public class MainInfo {
|
||||
public float temp_max;
|
||||
public float temp_min;
|
||||
|
||||
public float getTemp() {
|
||||
return temp;
|
||||
public int getTemp() {
|
||||
return Math.round(temp);
|
||||
}
|
||||
|
||||
public void setTemp(float temp) {
|
||||
this.temp = temp;
|
||||
}
|
||||
|
||||
public float getTemp_max() {
|
||||
return temp_max;
|
||||
public int getTemp_max() {
|
||||
return Math.round(temp_max);
|
||||
}
|
||||
|
||||
public void setTemp_max(float temp_max) {
|
||||
this.temp_max = temp_max;
|
||||
}
|
||||
|
||||
public float getTemp_min() {
|
||||
return temp_min;
|
||||
public int getTemp_min() {
|
||||
return Math.round(temp_min);
|
||||
}
|
||||
|
||||
public void setTemp_min(float temp_min) {
|
||||
|
16
app/src/main/res/layout/activity_details.xml
Normal file
16
app/src/main/res/layout/activity_details.xml
Normal file
@ -0,0 +1,16 @@
|
||||
<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:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/hello_world"/>
|
||||
|
||||
</RelativeLayout>
|
27
app/src/main/res/layout/activity_search.xml
Normal file
27
app/src/main/res/layout/activity_search.xml
Normal file
@ -0,0 +1,27 @@
|
||||
<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.SearchActivity">
|
||||
|
||||
<SearchView
|
||||
android:id="@+id/searchView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentTop="true"/>
|
||||
|
||||
<ListView
|
||||
android:id="@+id/listView2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_below="@+id/searchView"/>
|
||||
|
||||
</RelativeLayout>
|
@ -1,94 +1,144 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:elevation="2dp"
|
||||
android:orientation="vertical"
|
||||
android:padding="10dp">
|
||||
|
||||
<android.support.v7.widget.CardView
|
||||
xmlns:card_view="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/card_view"
|
||||
xmlns:card_view="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="250dp"
|
||||
android:padding="2dp"
|
||||
card_view:cardCornerRadius="2dp"
|
||||
android:elevation="2dp">
|
||||
card_view:cardElevation="2dp"
|
||||
card_view:cardUseCompatPadding="true">
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_gravity="center_horizontal">
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/left_card_part"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_weight=".5"
|
||||
android:id="@+id/left_card_part">
|
||||
android:layout_weight=".5">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
||||
android:text="Large Text"
|
||||
android:id="@+id/name"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_marginTop="25dp"/>
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_marginTop="25dp"
|
||||
android:text="Large Text"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/temp_min"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:layout_alignLeft="@+id/max_temp"
|
||||
android:layout_alignStart="@+id/max_temp"
|
||||
android:layout_alignTop="@+id/imageView2"
|
||||
android:text="Medium Text"
|
||||
android:id="@+id/temp_min"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/max_temp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignTop="@+id/imageView"
|
||||
android:layout_toEndOf="@+id/imageView"
|
||||
android:layout_toRightOf="@+id/imageView"
|
||||
android:text="Medium Text"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_above="@+id/imageView2"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_marginBottom="7dp"
|
||||
android:src="@mipmap/ic_max"
|
||||
android:tint="#d50000"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView2"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_marginBottom="25dp"/>
|
||||
android:layout_marginBottom="5dp"
|
||||
android:src="@mipmap/ic_min"
|
||||
android:tint="#0091ea"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/temp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:text="Medium Text"
|
||||
android:id="@+id/max_temp"
|
||||
android:layout_above="@+id/temp_min"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_marginBottom="25dp"/>
|
||||
</RelativeLayout>
|
||||
<RelativeLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_weight=".5"
|
||||
android:id="@+id/right_card_part">
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView4"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_toLeftOf="@+id/temp"
|
||||
android:layout_toStartOf="@+id/temp"
|
||||
android:src="@mipmap/ic_temp"/>
|
||||
</RelativeLayout>
|
||||
<RelativeLayout
|
||||
android:id="@+id/right_card_part"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_weight=".5">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/weather_image"
|
||||
android:layout_width="128dp"
|
||||
android:layout_height="128dp"
|
||||
android:id="@+id/weather_image"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_centerHorizontal="true"/>
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/wind_speed"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:text="Small Text"
|
||||
android:id="@+id/wind_speed"
|
||||
android:layout_below="@+id/weather_image"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="25dp"/>
|
||||
android:layout_marginTop="25dp"
|
||||
android:text="Small Text"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/weather_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:text="Medium Text"
|
||||
android:id="@+id/weather_text"
|
||||
android:layout_above="@+id/weather_image"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginBottom="25dp"/>
|
||||
android:layout_marginBottom="25dp"
|
||||
android:text="Medium Text"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView3"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_alignBottom="@+id/wind_speed"
|
||||
android:layout_alignLeft="@+id/weather_image"
|
||||
android:layout_alignStart="@+id/weather_image"
|
||||
android:src="@mipmap/ic_wind"/>
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
</android.support.v7.widget.CardView>
|
||||
|
10
app/src/main/res/menu/menu_details.xml
Normal file
10
app/src/main/res/menu/menu_details.xml
Normal file
@ -0,0 +1,10 @@
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:context="com.amine.myterio.app.DetailsActivity">
|
||||
<item
|
||||
android:id="@+id/action_settings"
|
||||
android:orderInCategory="100"
|
||||
android:title="@string/action_settings"
|
||||
app:showAsAction="never"/>
|
||||
</menu>
|
10
app/src/main/res/menu/menu_search.xml
Normal file
10
app/src/main/res/menu/menu_search.xml
Normal file
@ -0,0 +1,10 @@
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:context="com.amine.myterio.app.SearchActivity">
|
||||
<item
|
||||
android:id="@+id/action_settings"
|
||||
android:orderInCategory="100"
|
||||
android:title="@string/action_settings"
|
||||
app:showAsAction="never"/>
|
||||
</menu>
|
@ -2,4 +2,6 @@
|
||||
<string name="app_name">Myterio</string>
|
||||
<string name="hello_world">Hello world!</string>
|
||||
<string name="action_settings">Settings</string>
|
||||
<string name="title_activity_search">SearchActivity</string>
|
||||
<string name="title_activity_details">DetailsActivity</string>
|
||||
</resources>
|
||||
|
Loading…
Reference in New Issue
Block a user