选中图片后蒙版
该程序对比与8月26号的GridView中的GridAdapter。
public class GridAdapter extends BaseAdapter {
private List<Fruit> mFruits;
private LayoutInflater mInflater;
private boolean[] mManagerCheckBox;
public GridAdapter(List<Fruit> mFruits, LayoutInflater mInflater) {
this.mFruits = mFruits;
this.mInflater= mInflater;
mManagerCheckBox = new boolean[mFruits.size()];
}
@Override
public int getCount() {
return mFruits.size();
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup viewGroup) {
ViewHolder vh = null;
if(convertView==null){
vh = new ViewHolder();
convertView = mInflater.inflate(R.layout.grid_test,null);
vh.imageView = (ImageView) convertView.findViewById(R.id.imageview);
vh.textView = (TextView) convertView.findViewById(R.id.textview);
vh.imageviewtint = (ImageView) convertView.findViewById(R.id.imageview_tint);
vh.checkbox = (CheckBox) convertView.findViewById(R.id.checkbox_fruit);
convertView.setTag(vh);
}else{
vh = (ViewHolder) convertView.getTag();
}
Fruit fruit = mFruits.get(position);
vh.imageView.setImageResource(fruit.getImg());
vh.textView.setText(fruit.getName());
vh.checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean isChanged) {
mManagerCheckBox[position] = isChanged;
notifyDataSetChanged();
}
});
vh.checkbox.setChecked(mManagerCheckBox[position]);
if(mManagerCheckBox[position]){
vh.imageviewtint.setVisibility(View.VISIBLE);
}else{
vh.imageviewtint.setVisibility(View.INVISIBLE);
}
return convertView;
}
class ViewHolder{
ImageView imageView;
TextView textView;
ImageView imageviewtint;
CheckBox checkbox;
}
}
xml文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<ImageView
android:id="@+id/imageview"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_margin="10dp"
/>
<TextView
android:id="@+id/textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/imageview"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:gravity="center"
android:padding="10dp"
android:text="苹果"/>
<ImageView
android:id="@+id/imageview_tint"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_margin="10dp"
android:visibility="invisible"
android:background="#55ff0000" />
<CheckBox
android:id="@+id/checkbox_fruit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:focusable="false"/>
</RelativeLayout>
Toast
信息弹出框,显示时间短,无焦点,不能交互,一般作提示、警告用
public class MainActivity extends Activity implements View.OnClickListener {
private Button mBtn1;
private Button mBtn2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mBtn1 = (Button) findViewById(R.id.button1);
mBtn2 = (Button) findViewById(R.id.button2);
mBtn1.setOnClickListener(this);
mBtn2.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.button1:
Toast toast = Toast.makeText(getApplicationContext(),"信息发送失败",Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER,0,0);
Spanned spanned = Html.fromHtml("信息<img src=''>发送<font color='#ff0000'>失败</font>!",new Html.ImageGetter(){
@Override
public Drawable getDrawable(String s) {
Drawable drawable = getResources().getDrawable(R.mipmap.ic_launcher);
drawable.setBounds(0,0,drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight());
return drawable;
}
},null);
toast.setText(spanned);
// toast.setDuration(Toast.LENGTH_SHORT);
toast.show();
break;
case R.id.button2:
Toast toast2 = new Toast(getApplicationContext());
LayoutInflater inflater = getLayoutInflater();
View toastView = inflater.inflate(R.layout.my_toast, null);
TextView textview_title = (TextView) toastView.findViewById(R.id.toast_title);
textview_title.setText("标题");
toast2.setView(toastView);
toast2.setDuration(Toast.LENGTH_SHORT);
toast2.show();
default:
break;
}
}
AlertDialog
public class MainActivity extends Activity implements View.OnClickListener {
private Button mBtn;
private Button mBtn2;
private Button mBtn3;
private Button mBtn4;
private String[] mData = {"第一条数据","第二条数据","第三条数据","第四条数据"};
private String[] mSex = {"男","女","其他"};
private String[] mHobby = {"篮球、","足球、","跑步、","乒乓球、","旅游、","打游戏、","摄影、"};
private boolean[] isCheckedHobby = new boolean[mHobby.length];
private String sex;
private StringBuffer hobby ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_test);
mBtn = (Button) findViewById(R.id.button1);
mBtn2 = (Button) findViewById(R.id.button2);
mBtn3 = (Button) findViewById(R.id.button3);
mBtn4 = (Button) findViewById(R.id.button4);
mBtn.setOnClickListener(this);
mBtn2.setOnClickListener(this);
mBtn3.setOnClickListener(this);
mBtn4.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.button1:
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.mipmap.ic_launcher).setTitle("这是标题").setMessage("这是内容").setNegativeButton("NegativeButton", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(),"点击的是NegativeButton",Toast.LENGTH_SHORT).show();
}
}).setNeutralButton("NeutralButton", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(),"点击的是NeutralButton",Toast.LENGTH_SHORT).show();
}
}).setPositiveButton("PositiveButton", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(), "点击的是PositiveButton", Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog = builder.create();
dialog.show();
break;
case R.id.button2:
AlertDialog.Builder builder1 = new AlertDialog.Builder(MainActivity.this);
builder1.setTitle("选择的dialog");
builder1.setItems(mData, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(), "选中了第" + (i+1) + "个", Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog1 = builder1.create();
dialog1.show();
break;
case R.id.button3:
AlertDialog.Builder builder2 = new AlertDialog.Builder(MainActivity.this);
builder2.setSingleChoiceItems(mSex, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int witch) {
sex = mSex[witch];
Toast.makeText(getApplicationContext(), "选中的性别是" + mSex[witch], Toast.LENGTH_SHORT).show();
}
});
builder2.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
});
builder2.setNeutralButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
mBtn3.setText("您的性别是" + sex);
}
});
AlertDialog dialog2 = builder2.create();
dialog2.show();
break;
case R.id.button4:
AlertDialog.Builder builder3 = new AlertDialog.Builder(MainActivity.this);
builder3.setMultiChoiceItems(mHobby, isCheckedHobby, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int witch, boolean isChecked) {
isCheckedHobby[witch] = isChecked;
}
});
builder3.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
});
builder3.setNeutralButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int witch) {
hobby = new StringBuffer();
for (int i = 0; i < isCheckedHobby.length; i++) {
if (isCheckedHobby[i]) {
hobby.append(mHobby[i]);
}
}
mBtn4.setText("您的爱好是" + hobby);
}
});
AlertDialog dialog3 = builder3.create();
dialog3.show();
break;
default:
break;
}
}