<pre name="code" class="html">
1 效果展示,及目的。
其实谷歌自带了官方的控件,但是不怎么好用,尤其样式大小什么的不是很好调整,所以自己做了一个。
2 原理
原理很简单,就是使用了Android的自定义控件的方法,把相关布局和代码组织起来。
3 代码
package com.chebaojian.chebaojian.utils;
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import com.chebaojian.chebaojian.R;
public class XingJi extends LinearLayout {
ImageView pingfen_1, pingfen_2, pingfen_3, pingfen_4, pingfen_5;
public XingJi(Context context, AttributeSet attrs) {
super(context, attrs);
initview(context);
}
public XingJi(Context context) {
super(context);
initview(context);
}
private void initview(Context context) {
View view = LayoutInflater.from(context).inflate(R.layout.xingji, this);
pingfen_1 = (ImageView) view.findViewById(R.id.pingfen_1);
pingfen_2 = (ImageView) view.findViewById(R.id.pingfen_2);
pingfen_3 = (ImageView) view.findViewById(R.id.pingfen_3);
pingfen_4 = (ImageView) view.findViewById(R.id.pingfen_4);
pingfen_5 = (ImageView) view.findViewById(R.id.pingfen_5);
}
public void setgrade(float grade) {
switch ((int) grade) {
case 0:
pingfen_1.setImageResource(R.drawable.kongxinxing);
pingfen_2.setImageResource(R.drawable.kongxinxing);
pingfen_3.setImageResource(R.drawable.kongxinxing);
pingfen_4.setImageResource(R.drawable.kongxinxing);
pingfen_5.setImageResource(R.drawable.kongxinxing);
break;
case 1:
pingfen_1.setImageResource(R.drawable.shixinxing);
pingfen_2.setImageResource(R.drawable.kongxinxing);
pingfen_3.setImageResource(R.drawable.kongxinxing);
pingfen_4.setImageResource(R.drawable.kongxinxing);
pingfen_5.setImageResource(R.drawable.kongxinxing);
break;
case 2:
pingfen_1.setImageResource(R.drawable.shixinxing);
pingfen_2.setImageResource(R.drawable.shixinxing);
pingfen_3.setImageResource(R.drawable.kongxinxing);
pingfen_4.setImageResource(R.drawable.kongxinxing);
pingfen_5.setImageResource(R.drawable.kongxinxing);
break;
case 3:
pingfen_1.setImageResource(R.drawable.shixinxing);
pingfen_2.setImageResource(R.drawable.shixinxing);
pingfen_3.setImageResource(R.drawable.shixinxing);
pingfen_4.setImageResource(R.drawable.kongxinxing);
pingfen_5.setImageResource(R.drawable.kongxinxing);
break;
case 4:
pingfen_1.setImageResource(R.drawable.shixinxing);
pingfen_2.setImageResource(R.drawable.shixinxing);
pingfen_3.setImageResource(R.drawable.shixinxing);
pingfen_4.setImageResource(R.drawable.shixinxing);
pingfen_5.setImageResource(R.drawable.kongxinxing);
break;
case 5:
pingfen_1.setImageResource(R.drawable.shixinxing);
pingfen_2.setImageResource(R.drawable.shixinxing);
pingfen_3.setImageResource(R.drawable.shixinxing);
pingfen_4.setImageResource(R.drawable.shixinxing);
pingfen_5.setImageResource(R.drawable.shixinxing);
break;
default:
pingfen_1.setImageResource(R.drawable.kongxinxing);
pingfen_2.setImageResource(R.drawable.kongxinxing);
pingfen_3.setImageResource(R.drawable.kongxinxing);
pingfen_4.setImageResource(R.drawable.kongxinxing);
pingfen_5.setImageResource(R.drawable.kongxinxing);
break;
}
}
}
4 布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/pingfen_1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="3dp"
android:layout_weight="1"
android:scaleType="fitXY"
android:src="@drawable/kongxinxing" />
<ImageView
android:id="@+id/pingfen_2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="3dp"
android:layout_weight="1"
android:scaleType="fitXY"
android:src="@drawable/kongxinxing" />
<ImageView
android:id="@+id/pingfen_3"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="3dp"
android:layout_weight="1"
android:scaleType="fitXY"
android:src="@drawable/kongxinxing" />
<ImageView
android:id="@+id/pingfen_4"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="3dp"
android:layout_weight="1"
android:scaleType="fitXY"
android:src="@drawable/kongxinxing" />
<ImageView
android:id="@+id/pingfen_5"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="3dp"
android:layout_weight="1"
android:scaleType="fitXY"
android:src="@drawable/kongxinxing" />
</LinearLayout>
5 资源