1

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タブレットの両方で見ようとしました。何か案は?ありがとう!

4

1 に答える 1

2

LinearyLayout を継承するクラスのコンストラクターでこのメソッドを呼び出します setOrientation(LinearLayout.VERTICAL);

于 2014-02-13T10:38:47.497 に答える