1
私はアンドロイド天気アプリで作業していますが、温度に適した色(寒いときは青、暑いときは赤色)を持つためにカードの背景が必要ですが、 40度は明るい赤色ですが、20度は黄色みたいです。値に基づいてAndroidの色のグラデーションが変更されます
これを行うのに役立つ色の選択方法を教えてもらえますか?
コード:
public class WeatherContentAdapter extends RecyclerView.Adapter<WeatherContentAdapter.WeatherContentVH> {
private List<WeatherInfo> mWeatherInfoList;
public WeatherContentAdapter() {
this.mWeatherInfoList = new ArrayList<>();
mWeatherInfoList.add(new DailyWeatherInfo("Monday", 10, WeatherConditions.RAINY));
mWeatherInfoList.add(new DailyWeatherInfo("Tuesday", 15, WeatherConditions.RAINY));
mWeatherInfoList.add(new DailyWeatherInfo("Wednesday", 20, WeatherConditions.FOGGY));
mWeatherInfoList.add(new DailyWeatherInfo("Thursday", 25, WeatherConditions.CLOUDY));
mWeatherInfoList.add(new DailyWeatherInfo("Friday", 30, WeatherConditions.CLOUDY));
mWeatherInfoList.add(new DailyWeatherInfo("Saturday", 35, WeatherConditions.CLEAR));
mWeatherInfoList.add(new DailyWeatherInfo("Sunday", 40, WeatherConditions.CLEAR));
}
@Override
public WeatherContentVH onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
View inflatedView = layoutInflater.inflate(R.layout.item_content, parent, false);
return new WeatherContentVH(inflatedView);
}
@Override
public void onBindViewHolder(WeatherContentVH holder, int position) {
holder.mWeatherTempTV.setText(mWeatherInfoList.get(position).mTemperature + "Celsius degrees");
holder.mWeatherCard.setCardBackgroundColor(???);
}
@Override
public int getItemCount() {
return mWeatherInfoList.size();
}
class WeatherContentVH extends RecyclerView.ViewHolder {
TextView mWeatherTempTV;
CardView mWeatherCard;
public WeatherContentVH(View itemView) {
super(itemView);
mWeatherTempTV = (TextView) itemView.findViewById(R.id.ic_tv_weather_temp);
mWeatherCard = (CardView) itemView.findViewById(R.id.ic_cv_weather);
}
}
}
私たちにあなたの作品を見せてください...コード? – FiN
これはテストコードのサンプルによく似ています –