基本信息
源码名称:android popo窗口(有图有源码)
源码大小:2.11M
文件格式:.zip
开发语言:Java
更新时间:2015-11-24
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

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

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

package com.example.testdemo;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import com.example.testdemo.adapter.AddgoodsAdapter;
import com.zhidingkuai.Tool.ToolPhone;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends Activity implements OnClickListener{

	private List<String> addGoodslist;
	private LinearLayout continueAddgoods;//继续添加商品
	private AddgoodsAdapter Addadpter;
	private ListView addgoodsListview;
	private View includeaddgoods;
	private LinearLayout returnbackimg;
	private TextView addgoods_Textview;//保存提交所有的商品
	//public static List<E> goodsList;//存放添加商品的信息
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_goodsmanage);
		initView();
		setAdpater();
	}
	
	//初始化所有的组件并添加监听
	private void initView(){
		includeaddgoods = findViewById(R.id.addgoods_includeview);
		continueAddgoods = (LinearLayout) includeaddgoods.findViewById(R.id.addgoods_layout);
		continueAddgoods.setOnClickListener(this);
		addgoodsListview = (ListView) includeaddgoods.findViewById(R.id.addgoods_listview);
		returnbackimg = (LinearLayout) findViewById(R.id.returnback_img_managegoods);
		returnbackimg.setOnClickListener(this);
		addgoods_Textview = (TextView) findViewById(R.id.goods_comitsave);
		addgoods_Textview.setOnClickListener(this);
	}
	
	
	
	public void setAdpater(){
		addGoodslist = new ArrayList<String>();
		addGoodslist.add("xx");
		Addadpter = new AddgoodsAdapter(addGoodslist,this);
		addgoodsListview.setAdapter(Addadpter);
		Addadpter.notifyDataSetChanged();
	}
	
	//重新计算listview的高度
	 public static void setListViewHeightBasedOnChildren(ListView listView) {  
	        ListAdapter listAdapter = listView.getAdapter();   
	        if (listAdapter == null) {  
	            // pre-condition  
	            return;  
	        }  
	        int totalHeight = 0;  
	        for (int i = 0; i < listAdapter.getCount(); i  ) {  
	            View listItem = listAdapter.getView(i, null, listView);  
	            listItem.measure(0, 0);  
	            totalHeight  = listItem.getMeasuredHeight();  
	        }  
	        ViewGroup.LayoutParams params = listView.getLayoutParams();  
	        params.height = totalHeight   (listView.getDividerHeight() * (listAdapter.getCount() - 1));  
	        listView.setLayoutParams(params);  
	    }

	@Override
	public void onClick(View v) {

		switch (v.getId()) {
		case R.id.addgoods_layout:
			addGoodslist.add("xx");
			setListViewHeightBasedOnChildren(addgoodsListview);//必须再点击添加后重新计算高度,否则只显示一行的高度
			Addadpter.notifyDataSetChanged();
			break;
		case R.id.returnback_img_managegoods:
			finish();
			overridePendingTransition(R.anim.in_from_left, R.anim.out_to_right);
			break;
		case R.id.goods_comitsave:
			
			break;
		}
	}  
	
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		switch (requestCode) {
		//获取相机拍摄的图片
		case 88:
			File picture = new File(Environment.getExternalStorageDirectory()
					  "/Goods.jpg");
			ToolPhone.startPhotoZoom(this, Uri.fromFile(picture));
			break;
		//获取相册的图片
		case 87:
			if(resultCode == RESULT_CANCELED){
				return;
			}
			ToolPhone.startPhotoZoom(this, data.getData());
			break;

		case 33:
			// 拿到剪切的图片
			if(data != null){
				 Bitmap bmap = data.getParcelableExtra("data"); 
		         ToolPhone.imgView.setImageBitmap(bmap);
			}
			break;
		default:
			break;
		}
		super.onActivityResult(requestCode, resultCode, data);
	}
	
	//将bitmap类型的
	private Uri saveBitmap(Bitmap bitmap){
		File file  = new File(Environment.getExternalStorageDirectory() "/goods.image");
		if(!file.exists()){
			file.mkdir();
		}
		File img = new File(file.getAbsolutePath() "goodimg.png");
		try {
			FileOutputStream fos = new FileOutputStream(img);
			bitmap.compress(Bitmap.CompressFormat.PNG, 85, fos);
			fos.flush();
			fos.close();
			return Uri.fromFile(img);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			return null;
		} catch (IOException e) {
			e.printStackTrace();
			return null;
		}
	}
	
}