popupwindow

layout    popuwindow.xml

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical" >




    <TextView

        android:id="@+id/groupname"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignBaseline="@+id/group_name"

        android:layout_alignBottom="@+id/group_name"

        android:layout_alignLeft="@+id/addgroup"

        android:text="分組名稱:"

        android:textSize="17sp" />




    <ImageView

        android:id="@+id/imageView1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignParentLeft="true"

        android:layout_below="@+id/addgroup"

        android:layout_marginTop="15dp"

        android:src="@drawable/baseline" />




    <TextView

        android:id="@+id/addgroup"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignParentTop="true"

        android:layout_marginLeft="18dp"

        android:layout_toRightOf="@+id/tableRow1"

        android:text="添加分組"

        android:textSize="25sp" />




    <EditText

        android:id="@+id/group_name"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignParentRight="true"

        android:layout_below="@+id/imageView1"

        android:layout_marginRight="16dp"

        android:layout_marginTop="24dp"

        android:layout_toRightOf="@+id/textView2"

        android:layout_weight="1"

        android:ems="10"

        android:hint="@string/groupHint"

        android:maxLength="10" />




    <LinearLayout

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignLeft="@+id/textView2"

        android:layout_alignRight="@+id/group_name"

        android:layout_below="@+id/group_name"

        android:layout_marginTop="28dp"

        android:gravity="center_horizontal" >




        <Button

            android:id="@+id/ensure"

            android:layout_width="142dp"

            android:layout_height="wrap_content"

            android:layout_weight="1"

            android:text="確定" />




        <Button

            android:id="@+id/cancel"

            android:layout_width="142dp"

            android:layout_height="wrap_content"

            android:layout_weight="1"

            android:text="取消" />

    </LinearLayout>



</RelativeLayout> 


drawable popuwindow_style
<?xml version="1.0" encoding="utf-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    

    <!-- solid 設置stroke設置的邊框以內的顏色 -->

    <solid android:color="#ffffff"/>

    <!-- stroke主要設置組件的邊框。width爲邊框寬度,color爲邊框顏色 -->

    <stroke android:width="2dp" android:color="#c5c1c1" />

    <!-- corners 設置邊框四角弧度 -->

    <corners android:radius="10dp"/>

    <!-- padding主要設置組件裏內容距離組件內邊框的間距 -->

    <padding android:left="3dp" android:top="3dp" android:right="3dp" android:bottom="3dp"/>

    

</shape>


.java
private class addGroupListerner implements OnClickListener {




@SuppressLint("NewApi")

@Override

public void onClick(View v) {



getPopupWindow();

PopupWindow.showAsDropDown(v);

}

}




private void getPopupWindow() {

if (null != PopupWindow) {

PopupWindow.dismiss();

return;

} else {

initPopupWindow();

}

}




private void initPopupWindow() {

// 得到屏幕的寬度和高度

screenWidth = this.getWindowManager().getDefaultDisplay().getWidth();

screenHeight = this.getWindowManager().getDefaultDisplay().getHeight();

// 獲取自定義佈局文件popupwindow.xml

View popupWindow_view = getLayoutInflater().inflate(

R.layout.popupwindow, null, false);

// 設置其背景

popupWindow_view.setBackgroundResource(R.drawable.popupwindow_style);

// 創建popupWindow實例

PopupWindow = new PopupWindow(popupWindow_view, screenWidth-40,

screenHeight/3-20, true);

// 獲取視圖中的按鈕與編輯框

TextAddName = (TextView)popupWindow_view.findViewById(R.id.addgroup);

TextGroupName = (TextView)popupWindow_view.findViewById(R.id.groupname);

button_ensure = (Button) popupWindow_view

.findViewById(R.id.ensure);

button_cancel = (Button) popupWindow_view

.findViewById(R.id.cancel);

group_name = (EditText) popupWindow_view

.findViewById(R.id.group_name);

button_ensure.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// 設置標籤中的內容

contextgroupName = group_name.getText().toString().trim();// 取得分組名字




Grouplistadapter.addListItem(contextgroupName);

PopupWindow.dismiss();

}

});

button_cancel.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {




PopupWindow.dismiss();

}

});



} 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章