1
LinearLayout 클래스를 확장 중이지만 방향에 문제가 있습니다. 다른 Linearlayout에 만들고있는이 뷰를 추가하려고하는데 여전히 수평으로 설정되어 있습니다.linearLayout이 세로 방향으로 설정되지 않았습니다.
package com.simplemathgame;
import java.util.Date;
import android.content.Context;
import android.graphics.Color;
import android.view.Gravity;
import android.widget.LinearLayout;
import android.widget.TableLayout;
public class GraphBar extends LinearLayout {
private Date date;
private int totalDrills;
private int rightDrills;
private int score;
private int height;
private final int widht = 30;
private final int totHeight = 300;
LinearLayout.LayoutParams barParams;
public GraphBar(Context context, int totalDrills, int rightDrills, Date date) {
super(context);
this.date = date;
this.rightDrills = rightDrills;
this.totalDrills = totalDrills;
this.setScore();
setParams();
this.barParams = new LinearLayout.LayoutParams(0,this.widht);
}
private void setScore(){
this.height = (this.rightDrills/this.totalDrills) * totHeight;
}
private void setParams(){
this.barParams = new LinearLayout.LayoutParams(this.height,this.widht);
this.barParams.setMargins(5, 0, 0, 0);
this.setBackgroundColor(Color.CYAN);
this.setOrientation(LinearLayout.VERTICAL);
this.setGravity(Gravity.BOTTOM);
this.setLayoutParams(this.barParams);
}
}
내가 에뮬레이터 내 아수스 태블릿 모두에서 볼려고 : 다음은 코드입니다. 아이디어가 있습니까? 감사!
죄송이 질문에 대답하지 않지만 레이아웃/뷰 그룹을 강화하지 않고 레이아웃/뷰 그룹 클래스의 모든 유형을 확장 왜 난 그냥 궁금하네요 기능. OO 디자인이 실제로 작동하는 방식이 아닙니다. 예를 들어, 레이아웃/뷰 그룹이 날짜가 무엇인지 알아야하는 이유는 무엇입니까? – Squonk
은 그래프 막대이기 때문에 사용자가 손을 잡고 있으면 날짜가 표시됩니다. – vlio20
나는 여전히 당신의 논리를 이해하지 못한다 - 레이아웃 XML 파일에서'setParams()'메소드로 모든 것을 할 수 있지만, 어떻게 할 것인지 당신에게 맡긴다. 귀하의 문제에 대한 한 가지 가능한 이유는'LinearLayout.LayoutParams (int width, int height)'입니다 - 당신은'height, width'로 그것을 설정하고 있습니다. – Squonk