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);
}
}
Я попытался увидеть его как в эмуляторе и моей Asus таблетки. любые идеи? Благодаря!
К сожалению, это не ответа на ваш вопрос, но я просто интересно, почему вы бы расширить любой тип класса компоновки/ViewGroup без повышения его компоновка/ViewGroup функциональность. На самом деле это не так, как должен работать OO-дизайн. Например, почему макет/группа просмотра должны знать, что такое дата? – Squonk
, потому что это будет панель графика, и когда пользователь коснется ее, он увидит дату. – vlio20
Я все еще не понимаю вашу логику - вы можете сделать все в своем методе 'setParams()' в XML-файле макета, но я полагаю, что вам решать, как вы хотите это сделать. Одной из возможных причин вашей проблемы является 'LinearLayout.LayoutParams (int width, int height)' - вы устанавливаете ее с помощью 'height, width'. – Squonk