我想很多人看到上图红框中的部分的实现第一反应就是使用CheckBox控件来实现,博主在一开始也是这么去做的,但是后来用不同的手机去做测试的时候发现checkbox对适配表现的很差劲,文字与图片的距离很不好控制,后来项目组长告诉我直接用去TextView去实现,试了才知道其实用TextView去实现很简单。代码:
viewheader.xml:
android:id="@+id/rl_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_homepage_header" >
android:id="@+id/ll_header_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="10sp" >
android:id="@+id/btn_header_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_header_back" />
android:id="@+id/tv_header_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textColor="@color/white"
android:textSize="25sp" />
activity_register.xml:
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_homepage_middle"
android:orientation="vertical" >
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="13dp"
android:paddingRight="13dp"
android:paddingTop="13dp" >
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_complaint_username" >
android:id="@+id/edt_register_username"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15sp"
android:background="@null"
android:drawableLeft="@drawable/icon_username"
android:drawablePadding="20sp"
android:ems="8"
android:hint="@string/edt_register_name"
android:textSize="15sp"
android:inputType="text"
android:singleLine="true" />
android:id="@+id/divider_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_complaint_divider"
android:contentDescription="@null" />
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_complaint_phone" >
android:id="@+id/edt_register_phone"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15sp"
android:layout_marginRight="15sp"
android:background="@null"
android:drawableLeft="@drawable/icon_phone"
android:drawablePadding="20sp"
android:ems="8"
android:textSize="15sp"
android:hint="@string/hint_your_phone"
android:inputType="phone"
android:singleLine="true" />
android:id="@+id/divider_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_complaint_divider"
android:contentDescription="@null" />
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_complaint_platenumber" >
android:id="@+id/edt_register_password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15sp"
android:layout_marginRight="15sp"
android:background="@null"
android:drawableLeft="@drawable/icon_password"
android:drawablePadding="20sp"
android:ems="8"
android:textSize="15sp"
android:hint="@string/tv_register_password_1"
android:inputType="textPassword"
android:singleLine="true" />
android:id="@+id/divider_3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_complaint_divider"
android:contentDescription="@null" />
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_complaint_4s" >
android:id="@+id/edt_user_repassword"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15sp"
android:layout_marginRight="15sp"
android:background="@null"
android:drawableLeft="@drawable/icon_password"
android:drawablePadding="20sp"
android:ems="8"
android:textSize="15sp"
android:hint="@string/tv_register_repassword"
android:inputType="textPassword"
android:singleLine="true" />
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp" >
android:id="@+id/rl_edt_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_edt_code" >
android:id="@+id/edt_verify_code"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15sp"
android:layout_marginRight="15sp"
android:background="@null"
android:drawableLeft="@drawable/icon_code"
android:drawablePadding="20sp"
android:ems="8"
android:textSize="15sp"
android:hint="@string/edt_register_code"
android:inputType="text"
android:singleLine="true" />
android:id="@+id/get_verify_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@drawable/bg_btn_getcode"
android:text="@string/btn_register_code"
android:textColor="@color/steeblue2" />
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal"
android:padding="8dp" >
android:id="@+id/check_if_read"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="13sp"
android:drawableLeft="@drawable/bg_if_read_yes"
android:clickable="true"
android:text="@string/tv_if_read" />
android:id="@+id/tv_article"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tv_article"
android:textSize="14sp"
android:textColor="@color/steelblue" />
android:layout_marginTop="30dp"
android:id="@+id/btn_submit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/btn_determine"
android:textColor="@color/white"
android:background="@drawable/bg_register_submit"
/>
RegisterActivity.java:
public class RegisterActivity extends Activity {
private TextView tv_header;
private TextView tv_check;
private Button btn_back;
private boolean flag = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
initHeader();
}
private void initHeader() {
tv_header = (TextView) findViewById(R.id.tv_header_title);
tv_check = (TextView) findViewById(R.id.check_if_read);
tv_header.setText(R.string.btn_register);
tv_check.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (flag == false) {
tv_check.setCompoundDrawablesWithIntrinsicBounds(
R.drawable.bg_if_read_yes, 0, 0, 0); //这个方法和Drawablexxx属性对应用于动态设置TextView的drawable
flag = true;
}else if(flag==true){
tv_check.setCompoundDrawablesWithIntrinsicBounds(R.drawable.bg_if_read_blank,0,0, 0);
flag=false;
}
}
});
btn_back = (Button) findViewById(R.id.btn_header_left);
btn_back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
}
Ok就是这些啦