AndroidStudio3.3版本的一个问题
丶Chao 2019-03-15 09:37:46 2048游戏 :
gameview.java
public class GameView extends GridLayout {
public GameView(Context context) {
super(context);
initGameView();
}
public GameView(Context context, AttributeSet attrs) {
super(context, attrs);
initGameView();
}
public GameView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initGameView();
}
private void initGameView(){
setColumnCount(4);
setOnTouchListener(new OnTouchListener() {
private float downX,downY,offsetX,offsetY;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
downX=event.getX();
downY=event.getY();
break;
case MotionEvent.ACTION_UP:
offsetX=event.getX()-downX;
offsetY=event.getY()-downY;
if(Math.abs(offsetX)>Math.abs(offsetY)){
if(offsetX<-5){
swipeLeft();
}else if (offsetX>5){
swipeRight();
}
}else{
if(offsetY<-5){
swipeUp();
}else if (offsetY>5){
swipeDown();
}
}
break;
default:
break;
}
return true;
}
});
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
int cardWith=(Math.min(w,h)-10)/4;
addCards(cardWith,cardWith);
}
private void addCards(int cardWith,int cardHeight){
Card c;
for(int y=0;y<4;y++){
for(int x=0;x<4;x++){
c=new Card(getContext());
c.setNum(2);
addView(c,cardWith,cardHeight);
}
}
}
}
card.java
public class Card extends FrameLayout {
private int num=0;
private TextView lable;
public Card(@NonNull Context context) {
super(context);
lable = new TextView(getContext());
lable.setTextSize(30);
LayoutParams lp = new LayoutParams(-1, -1);
addView(lable, lp);
setNum(0);
}
public int getNum(){
return this.num;
}
public void setNum(int num){
this.num=num;
lable.setText(""+num);
}
public boolean equeals(Card o){
return getNum()==o.getNum();
}
}
在gameview.java中添加card 没有文本显示,只有gameview的框架
debug结果:
2019-03-15 09:28:07.223 1640-1651/? W/android.os.Debug: failed to get memory consumption info: -1
2019-03-15 09:28:07.482 1640-2100/? E/memtrack: Couldn't load memtrack module