您的位置:首页 > 移动开发

[仿南航app开发日记5]查成绩界面开发完成以及使用PopupWindow踩过的坑

2016-12-27 02:00 666 查看

前言

这篇博客是接着前一篇博客开发的:

[仿南航app开发日记4]登陆对话框完成以及自定义对话框碰到的坑

源码

先看效果



既然是写一个界面,先上布局文件好了:

<?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">
<!--整个界面的布局-->
<LinearLayout
android:layout_centerInParent="true"
android:orientation="vertical"
android:background="@color/menuColor"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--顶部返回-->
<include layout="@layout/back_layout"/>
<!--选择周数-->
<LinearLayout
android:id="@+id/score_checkWeek"
android:layout_width="match_parent"
android:background="@android:color/white"
android:layout_height="45dp"
android:gravity="center">
<TextView
android:id="@+id/score_week"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2015-2016(上学期)"
android:textSize="16sp"
android:textColor="@android:color/black"/>
<ImageView
android:layout_marginLeft="5dp"
android:layout_width="18dp"
android:layout_height="18dp"
android:src="@drawable/xiala"/>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="@drawable/back_line"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="45dp"
android:gravity="center">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="113.0"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="当前学分"/>
</LinearLayout>
<View android:layout_width="1px"
android:layout_height="match_parent"
android:background="@color/scoreDivideColor"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="113.0"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="需要学分"/>
</LinearLayout>
<View android:layout_width="1px"
android:layout_height="match_parent"
android:background="@color/scoreDivideColor"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0.0"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="还需学分"/>
</LinearLayout>
<View android:layout_width="1px"
android:layout_height="match_parent"
android:background="@color/scoreDivideColor"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0.0"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="平均绩点"/>
</LinearLayout>

</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="@color/scoreDivideColor"/>
<!--显示成绩-->
<ListView
android:id="@+id/score_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingTop="10dp"
android:dividerHeight="10dp"
android:divider="@color/menuColor"
android:background="@color/menuColor"
android:scrollbarStyle="insideOverlay"
android:scrollbars="none">
</ListView>

</LinearLayout>
<!--接收事件-->
<View
android:id="@+id/score_cancelPopup"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"/>
</RelativeLayout>


这里面有一个id叫做score_cancelPopup的View,它并没有什么作用,只是当popupWindow弹出的时候将它取消(我无论怎么设置都无法让PopupWindow消失,具体的后面讲)

还有一个

<include layout="@layout/back_layout"/>


这个在:

<?xml version="1.0" encoding="utf-8"?>
<!--顶部返回的布局,用于被其他的布局加载-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="45dp"
android:background="@color/backLayoutColor">
<ImageView
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_marginLeft="-10dp"
android:src="@drawable/back_arrow_off"/>
<TextView
android:layout_marginLeft="-10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="成绩查询"
android:textColor="@android:color/white"/>
<View
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="设置"
android:textColor="@android:color/white"
android:layout_marginRight="10dp"
android:visibility="invisible"/>

</LinearLayout>


这里有我没用使用系统自带的下拉框,而是选择View(Click事件)+PopupWindow来弹出自定义下拉框(后面讲),先讲显示成绩的那个吧,因为这整个显示成绩的就是一个ListView,所以我为它写了一个Adapter:

package cn.karent.nanhang.adapter;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import cn.karent.nanhang.model.Score;
import cn.karent.nanhang.R;

/**
* Created by wan on 2016/12/26.
* 成绩的Adapter
*/
public class ScoreAdapter extends ArrayAdapter<Score> {

private Context mContext;

private int mResouceId;

public ScoreAdapter(Context context, int resourceId) {
super(context, resourceId);
mContext = context;
mResouceId = resourceId;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHold hold = null;
if( convertView == null) {
convertView = LayoutInflater.from(mContext).inflate(mResouceId, null);
hold = new ViewHold();
hold.setName((TextView)convertView.findViewById(R.id.scoreItem_name));
hold.setCourseTime((TextView)convertView.findViewById(R.id.scoreItem_courseTime));
hold.setCoursePropety((TextView)convertView.findViewById(R.id.scoreItem_courseProperty));
hold.setProperty((TextView)convertView.findViewById(R.id.scoreItem_property));
hold.setWay((TextView)convertView.findViewById(R.id.scoreItem_way));
hold.setScore((TextView)convertView.findViewById(R.id.scoreItem_score));
hold.setCredit((TextView)convertView.findViewById(R.id.scoreItem_credit));
convertView.setTag(hold);
} else {
hold = (ViewHold)convertView.getTag();
}
Score s = getItem(position);
hold.getName().setText(s.getName());
hold.getCourseTime().setText(s.getCourseTime());
hold.getCoursePropety().setText(s.getCourseProperty());
hold.getProperty().setText(s.getProperty());
hold.getWay().setText(s.getWay());
hold.getScore().setText(s.getScore() + "分");
hold.getCredit().setText(s.getCredit() + "");
return convertView;
}

class ViewHold {
/**
* 课时
*/
private TextView courseTime;
/**
* 课程名称
*/
private TextView name;
/**
* 课程性质,比如:全校任选课
*/
private TextView coursePropety;
/**
* 选修还是必修
*/
private TextView property;
/**
* 考试方式
*/
private TextView way;
/**
* 分数
*/
private TextView score;
/**
* 学分
*/
private TextView credit;

public TextView getCourseTime() {
return courseTime;
}

public void setCourseTime(TextView courseTime) {
this.courseTime = courseTime;
}

public TextView getName() {
return name;
}

public void setName(TextView name) {
this.name = name;
}

public TextView getCoursePropety() {
return coursePropety;
}

public void setCoursePropety(TextView coursePropety) {
this.coursePropety = coursePropety;
}

public TextView getProperty() {
return property;
}

public void setProperty(TextView property) {
this.property = property;
}

public TextView getWay() {
return way;
}

public void setWay(TextView way) {
this.way = way;
}

public TextView getScore() {
return score;
}

public void setScore(TextView score) {
this.score = score;
}

public TextView getCredit() {
return credit;
}

public void setCredit(TextView credit) {
this.credit = credit;
}
}

}


那里面有一个Score,这是一个Model,封装了一个Item该显示哪些数据:

package cn.karent.nanhang.model;

/**
* Created by wan on 2016/12/26.
* 成绩的model
*/
public class Score {
/**
* 课程名称
*/
private String name;
/**
* 课时
*/
private String courseTime;
/**
* 选修还是必修
*/
private String property;
/**
* 课程性质
*/
private String courseProperty;
/**
* 考试方式
*/
private String way;
/**
* 分数
*/
private float score;
/**
* 学分
*/
private float credit;

public String getCourseTime() {
return courseTime;
}

public void setCourseTime(String courseTime) {
this.courseTime = courseTime;
}

public String getProperty() {
return property;
}

public void setProperty(String property) {
this.property = property;
}

public String getWay() {
return way;
}

public void setWay(String way) {
this.way = way;
}

public float getScore() {
return score;
}

public void setScore(float score) {
this.score = score;
}

public float getCredit() {
return credit;
}

public void setCredit(float credit) {
this.credit = credit;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getCourseProperty() {
return courseProperty;
}

public void setCourseProperty(String courseProperty) {
this.courseProperty = courseProperty;
}
}


还有item的布局:

<?xml version="1.0" encoding="utf-8"?>
<!--显示成绩的每一项-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="10dp"
android:background="@drawable/score_item_shape"
android:layout_width="wrap_content"
android:layout_height="164dp">
<!--标题-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="35dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:gravity="center_vertical">
<TextView
android:id="@+id/scoreItem_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="大数据与社会生活"
android:textSize="15sp"
android:textColor="@android:color/black"/>
<TextView
android:id="@+id/scoreItem_courseTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(总学时:20小时)"
android:layout_marginLeft="10dp"
android:textColor="@color/scoreTypefaceColor"/>
</LinearLayout>
<!--分割线-->
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="@color/scoreDivideColor"/>
<!--课程性质-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:padding="10dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="课程性质:"
android:textColor="@color/scoreTypefaceColor1"/>
<TextView
android:id="@+id/scoreItem_courseProperty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:text="全校任选课"
android:textColor="@android:color/black"/>
<TextView
android:id="@+id/scoreItem_property"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="选修"
android:textColor="@android:color/white"
android:background="@drawable/score_item_property_shape"/>
</LinearLayout>
<!--考查方式-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="考试方式:"
android:textColor="@color/scoreTypefaceColor1"/>
<TextView
android:id="@+id/scoreItem_way"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:text="考查"
android:textColor="@android:color/black"/>
<View
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_weight="1"/>
<TextView
android:id="@+id/scoreItem_score"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="73.0分"
android:textColor="@color/scoreWayColor"/>
</LinearLayout>
<!--学分-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="学分:"
android:textColor="@color/scoreTypefaceColor1"/>
<TextView
android:id="@+id/scoreItem_credit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:text="1.0"
android:textColor="@color/scoreScoreColor"/>
</LinearLayout>
</LinearLayout>


一开始我打算在LinearLayout里面设置上、下、左、右边距拉达到间隔的效果,但是发现无论怎么设置都无效,默认就会填充整个ListView,幸好ListView可以设置divide属性:

<ListView
android:id="@+id/score_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingTop="10dp"
android:dividerHeight="10dp"
android:divider="@color/menuColor"
android:background="@color/menuColor"
android:scrollbarStyle="insideOverlay"
android:scrollbars="none">
</ListView>


我让设置ListView的padding属性来达到挤压每一个Item的目的,并设置divideHeight属性来达到两个item之间的距离,对了,还有每一个Item有一个shape:

<?xml version="1.0" encoding="utf-8"?>
<!--每一项成绩的item-->
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="10dp"/>
<solid android:color="@android:color/white"/>
<stroke android:width="1px" android:color="#d9d6d6"/>
</shape>


这个是设置了每一个item的背景,来达到圆角的目的,

结果如图:



接下来将自定义下拉框了,我前面说过,我这里是使用View+PopupWindow来实现的下拉框,也就是说,上面就是一个普通的LinearLayout,然后监听OnClick事件,在事件里面new出一个PopupWindow来,就达到了PopupWindow的效果,先上PopupWindow的布局:

<?xml version="1.0" encoding="utf-8"?>
<!--选择周数的popupWindow-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="250dp"
android:layout_height="match_parent">
<ImageView
android:layout_gravity="center_horizontal"
android:layout_width="15dp"
android:layout_height="10dp"
android:scaleType="fitEnd"
android:src="@drawable/upsanjiao"/>
<ListView
android:id="@+id/checkweek_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null"
android:dividerHeight="10dp"
android:scrollbars="none"
android:padding="10dp"
android:background="@drawable/btn_blue_on">

</ListView>

</LinearLayout>


在程序中使用:

public void onClick(View v) {
if( mCheckWeekPopupWindow == null ) {
mCheckWeekPopupWindow = new PopupWindow(this);
View contentView = LayoutInflater.from(this).inflate(R.layout.checkweek_popup_layout, null);
mCheckWeekPopupWindow.setContentView(contentView);
mCheckWeekPopupWindow.setWidth(mPopupWidth);
mCheckWeekPopupWindow.setHeight(ViewGroup.LayoutParams.MATCH_PARENT);
mList = (ListView) contentView.findViewById(R.id.checkweek_list);
mCheckWeekPopupWindow.setBackgroundDrawable(null);
mCheckWeekPopupWindow.setFocusable(false);
mCheckWeekPopupWindow.setOutsideTouchable(true);
mList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
mCurrentYear.setText(((TextView)view).getText());
//让popupWindow消失
mCheckWeekPopupWindow.dismiss();
mCheckWeekPopupWindow = null;
}
});
//去除背景
initPopupWindow();
//计算要偏移的像素
int offsetX = (ScreenUtil.getScreenWidth() - mPopupWidth) / 2;
mCheckWeekPopupWindow.showAsDropDown(mCheckWeek, offsetX, 0);
}
}


上面的就是我说的OnClick事件了,但是有一个问题,点击空白处不会消失,我自己想到了一个解决办法,那就是在整个布局里面在添加一个充满全屏的View。监听它的Touch事件,但是不消费事件仅仅将PopupWindow 关掉,接下来就是一样的使用了,因为PopupWindow里面也使用了ListView,它也有一个Adapter:

package cn.karent.nanhang.adapter;

import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import cn.karent.nanhang.R;

/**
* Created by wan on 2016/12/27.
*/
public class WeekAdapter extends ArrayAdapter<String> {

private Context mContext;

private int mResourceId;
/**
* 显示成绩的Activity中显示当前年份的TextView
*/
private TextView mTextView;

public WeekAdapter(Context context, int resourceId) {
super(context, resourceId);
mResourceId = resourceId;
mContext = context;
}

public void setWeekTextView(TextView textView) {
mTextView = textView;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
if( convertView == null) {
convertView = LayoutInflater.from(mContext).inflate(R.layout.check_week_layout, null);
}
TextView t = (TextView)convertView.findViewById(R.id.check_week_week);
String s = getItem(position);
//如果当前要加载的周数等于TextView里面的周数,那么改变背景色
Log.d("s:" + s, "mTextView.getText:" + mTextView.getText());
if( s.equals(mTextView.getText())) {
Log.d("WeekAdapter", "invoked!");
t.setBackground(new ColorDrawable(0xffffffff));
t.setTextColor(Color.rgb(0, 0, 0));
} else {
t.setBackground(null);
t.setTextColor(Color.rgb(255, 255, 255));
}
t.setText(s);
return convertView;
}
}


每一个Item的布局:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/check_week_week"
android:layout_width="match_parent"
android:layout_height="40dp"
android:gravity="center"
android:textSize="14sp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:textColor="@android:color/white">

</TextView>


因为这是一个显示成绩的Activity,先写一个吧:

package cn.karent.nanhang.activity;

import android.app.Activity;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.PopupWindow;
import android.widget.TextView;
import cn.karent.nanhang.R;
import cn.karent.nanhang.adapter.ScoreAdapter;
import cn.karent.nanhang.adapter.WeekAdapter;
import cn.karent.nanhang.model.Score;
import cn.karent.nanhang.util.ScreenUtil;

/**
* Created by wan on 2016/12/26.
* 显示成绩的Activity
*/
public class ScoreActivity extends Activity implements View.OnClickListener{
/**
* 显示成绩的列表
*/
private ListView mScoreList;
/**
* 分数的Adapter
*/
private ScoreAdapter mScoreAdapter;
/**
* 选择星期的View
*/
private View mCheckWeek;
/**
* 弹出框
*/
private PopupWindow mCheckWeekPopupWindow;
/**
* PopupWindow的宽度
*/
private int mPopupWidth;
/**
* 选择年份的ListView
*/
private ListView mList;
/**
* 用来接收所有的事件但不消费,用于消除PopupWindow无法消失的情况
*/
private View mCancelPopup;
/**
* 显示当前的年份
*/
private TextView mCurrentYear;
/**
* 显示周数的Adapter
*/
private WeekAdapter mWeekAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.score_layout);
mScoreList = (ListView)findViewById(R.id.score_list);
mScoreAdapter = new ScoreAdapter(this, R.layout.score_item_layout);
fillContent();
mScoreList.setAdapter(mScoreAdapter);
mCheckWeek = findViewById(R.id.score_checkWeek);
mCheckWeek.setOnClickListener(this);
mPopupWidth = ScreenUtil.dp2px(250);
mCancelPopup = findViewById(R.id.score_cancelPopup);
mCancelPopup.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if( mCheckWeekPopupWindow != null ) {
mCheckWeekPopupWindow.dismiss();
mCheckWeekPopupWindow = null;
}
return false;
}
});
mCurrentYear = (TextView)findViewById(R.id.score_week);

}

/**
* 填充测试数据
*/
private void fillContent() {
Score s = new Score();
s.setName("美食与文化");
s.setCourseTime("(总学时:20小时)");
s.setCourseProperty("全校任选课");
s.setProperty("选修");
s.setWay("考查");
s.setScore(93);
s.setCredit(1);
mScoreAdapter.add(s);
mScoreAdapter.add(s);
mScoreAdapter.add(s);
mScoreAdapter.add(s);
mScoreAdapter.add(s);
mScoreAdapter.add(s);
mScoreAdapter.add(s);
}

/**
* 初始化popupWindow当中的数据
*/
private void initPopupWindow() {
if( mWeekAdapter != null) {
mList.setAdapter(mWeekAdapter);
return;
}
mWeekAdapter = new WeekAdapter(this, R.layout.check_week_layout);
mWeekAdapter.setWeekTextView(mCurrentYear);
int year = 2015;
for(int i = 26; i > 0; i--) {
String s = year + "-" + (year + 1);
if( i % 2 == 0) {
s += "(上学期)";
} else {
s += "(下学期)";
}
mWeekAdapter.add(s);
year -= 1;
}
mList.setAdapter(mWeekAdapter);
}

/**
* 弹出选择周数的框
* @param v
*/
@Override
public void onClick(View v) { if( mCheckWeekPopupWindow == null ) { mCheckWeekPopupWindow = new PopupWindow(this); View contentView = LayoutInflater.from(this).inflate(R.layout.checkweek_popup_layout, null); mCheckWeekPopupWindow.setContentView(contentView); mCheckWeekPopupWindow.setWidth(mPopupWidth); mCheckWeekPopupWindow.setHeight(ViewGroup.LayoutParams.MATCH_PARENT); mList = (ListView) contentView.findViewById(R.id.checkweek_list); mCheckWeekPopupWindow.setBackgroundDrawable(null); mCheckWeekPopupWindow.setFocusable(false); mCheckWeekPopupWindow.setOutsideTouchable(true); mList.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { mCurrentYear.setText(((TextView)view).getText()); //让popupWindow消失 mCheckWeekPopupWindow.dismiss(); mCheckWeekPopupWindow = null; } }); //去除背景 initPopupWindow(); //计算要偏移的像素 int offsetX = (ScreenUtil.getScreenWidth() - mPopupWidth) / 2; mCheckWeekPopupWindow.showAsDropDown(mCheckWeek, offsetX, 0); } }

}


原先的PopupWindow会有一个半透明的背景,如果ContentView完全填充了背景就不会显示出来,但是我这里最上面是一个小箭头,旁边就显示,解决办法是直接将它的背景设置为空:

mCheckWeekPopupWindow.setBackgroundDrawable(null);


在androidMenifest.xml里面注册一下:

<!--显示成绩的Activity-->
<activity android:name=".activity.ScoreActivity">

</activity>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐