作为一个android小白,自己想尝试写一个小项目,因此写个小博客记录一下自己的开发历程。这一篇记录自己学习调取手机相册以及打开相机选择图片并显示
示例是采用PopupWindow弹出底部菜单,选择相应按钮,来显示图片。
第一步:加载好PopupWindow控件,具体代码如下(不详情描述):
PopupWindow控件的xml文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/pop_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:gravity="center_horizontal"
android:orientation="vertical" >
<Button
android:id="@+id/takePhotoBtn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:layout_marginTop="10dp"
android:background="#373447"
android:padding="10dp"
android:text="拍照"
android:textColor="#CEC9E7"
android:textSize="18sp"
android:textStyle="bold" />
<Button
android:id="@+id/pickPhotoBtn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:layout_marginTop="5dp"
android:background="#373447"
android:padding="10dp"
android:text="从相册选择"
android:textColor="#CEC9E7"
android:textSize="18sp"
android:textStyle="bold" />
<Button
android:id="@+id/cancelBtn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="15dip"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:layout_marginTop="20dp"
android:background="@android:color/white"
android:padding="10dp"
android:text="取消"
android:textColor="#373447"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>
</RelativeLayout>
对应的继承PopupWindow的java代码:
public class ChoosePicPopWindow extends PopupWindow {
private Button takePhotoBtn, pickPhotoBtn, cancelBtn;
private View mMenuView;
@SuppressLint("InflateParams")
public ChoosePicPopWindow(Context context, View.OnClickListener itemsOnClick) {
super(context);
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mMenuView = inflater.inflate(R.layout.item_choosepicture, null);
takePhotoBtn = (Button) mMenuView.findViewById(R.id.takePhotoBtn);
pickPhotoBtn = (Button) mMenuView.findViewById(R.id.pickPhot