基本信息
源码名称:android 设置应用主题颜色
源码大小:2.41M
文件格式:.zip
开发语言:Java
更新时间:2016-05-10
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

package com.qiulong.changedmotivecolortest.activity;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import com.qiulong.changedmotivecolortest.R;
import com.qiulong.changedmotivecolortest.mode.ColorManager;
import com.qiulong.changedmotivecolortest.view.ColorImageView;

public class MotiveActivity extends Activity implements OnClickListener {

	private final int[] layouts = { R.id.skin_01, R.id.skin_02, R.id.skin_03,
			R.id.skin_04, R.id.skin_05 };
	private ColorImageView mSelected, mChecked, mDelete;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_motive);
		initView();
	}

	private void initView() {
		findViewById(R.id.motive_back).setOnClickListener(
				new OnClickListener() {
					@Override
					public void onClick(View v) {
						finish();
					}
				});
		int colorArr[] = ColorManager.getInstance().getSkinColor(this);
		for (int i = 0; i < layouts.length; i  ) {
			View view = findViewById(layouts[i]);
			View color = view.findViewById(R.id.motive_item_color);
			View selected = view.findViewById(R.id.motive_item_selected);
			color.setBackgroundColor(colorArr[i]);
			if (colorArr[i] == MyApplication.mPreference.getSkinColorValue()) {
				selected.setVisibility(View.VISIBLE);
			}
			color.setOnClickListener(new OnSkinColorClickListener(i));
		}

		mSelected = (ColorImageView) findViewById(R.id.motive_selected);
		mChecked = (ColorImageView) findViewById(R.id.motive_checked);
		mDelete = (ColorImageView) findViewById(R.id.motive_delete);
		setColorImageViewEnabled(mSelected,
				MyApplication.mPreference.getSelectedEnabled());
		setColorImageViewEnabled(mChecked,
				MyApplication.mPreference.getCheckedEnabled());
		setColorImageViewEnabled(mDelete,
				MyApplication.mPreference.getDeleteEnabled());
		mSelected.setOnClickListener(this);
		mChecked.setOnClickListener(this);
		mDelete.setOnClickListener(this);
	}

	class OnSkinColorClickListener implements OnClickListener {

		private int position;

		public OnSkinColorClickListener(int position) {
			this.position = position;
		}

		@Override
		public void onClick(View v) {
			for (int i = 0; i < layouts.length; i  ) {
				View view = findViewById(layouts[i]);
				View selected = view.findViewById(R.id.motive_item_selected);
				selected.setVisibility(i == position ? View.VISIBLE : View.GONE);
				ColorManager.getInstance().setSkinColor(MotiveActivity.this,
						position);
			}
		}
	}

	@Override
	public void onClick(View v) {
		switch (v.getId()) {
		case R.id.motive_selected:
			boolean isSelected = mSelected.isSelected() ? false : true;
			setColorImageViewEnabled(mSelected, isSelected);
			MyApplication.mPreference.setSelectedEnabled(isSelected);
			break;
		case R.id.motive_checked:
			boolean isChecked = mChecked.isSelected() ? false : true;
			setColorImageViewEnabled(mChecked, isChecked);
			MyApplication.mPreference.setCheckedEnabled(isChecked);
			break;
		case R.id.motive_delete:
			boolean isDelete = mDelete.isSelected() ? false : true;
			setColorImageViewEnabled(mDelete, isDelete);
			MyApplication.mPreference.setDeleteEnabled(isDelete);
			break;
		}
	}

	private void setColorImageViewEnabled(ColorImageView imageView,
			boolean isEnabled) {
		imageView.setSelected(isEnabled);
		imageView.setColorFilterEnabled(isEnabled);
	}

}