-1

xml 値を Android アクティビティに解析するコードがあります。解析された xml 値をプログラムで水平方向の 2 つのテキストビューに表示する必要があります。各テキストビューの値は垂直方向にする必要があります。非構造化された方法でテキストビューを取得しました。テキストビューを構造化された方法で表示する必要があります。誰でもこの問題を解決するのを手伝ってくれませんか。たとえば、構造化されていない出力の場合:

      flag
              false
      id
                0                  

次のような出力が必要です

      flag   false

      id     0

このようなテキストビューを作成しました

    private void createTextView(String text, LinearLayout root, int textSize,
        int width, int height, int gravity) {
    TextView textView = new TextView(context);
    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(width,
            height);
    if (gravity == Gravity.RIGHT) {
        params.setMargins(300, 0, 0, 0);
    }
    if (gravity == Gravity.LEFT) {
        params.setMargins(150, 0, 0, 0);

    }
    if (gravity == Gravity.CENTER) {
        params.setMargins(20, 5, 0, 5);

    }
    textView.setLayoutParams(params);
    textView.setText(text);
    textView.setTextSize(textSize);
    textView.setGravity(params.gravity);

    textView.setTextColor(context.getResources().getColor(
            android.R.color.black));
    root.addView(textView);
}


           private void createTextViewsWithHorizontalOrient(String textOne,
        String textTwo, LinearLayout root) {
    LinearLayout horizontalLinearLayout = new LinearLayout(context);
    LinearLayout horizontalNextLinearLayout = new LinearLayout(context);

    horizontalLinearLayout.setOrientation(LinearLayout.VERTICAL);
    horizontalLinearLayout.setLayoutParams(new LinearLayout.LayoutParams(
            LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

    horizontalNextLinearLayout.setOrientation(LinearLayout.VERTICAL);
    horizontalNextLinearLayout
            .setLayoutParams(new LinearLayout.LayoutParams(
                    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
    horizontalNextLinearLayout.setGravity(Gravity.TOP);
    horizontalLinearLayout.setGravity(Gravity.TOP);

    createTextView(textOne, horizontalLinearLayout, 18,
            android.widget.LinearLayout.LayoutParams.WRAP_CONTENT,
            android.widget.LinearLayout.LayoutParams.WRAP_CONTENT,
            Gravity.LEFT);

    createTextView(textTwo, horizontalNextLinearLayout, 18,
            android.widget.LinearLayout.LayoutParams.WRAP_CONTENT,
            android.widget.LinearLayout.LayoutParams.WRAP_CONTENT,
            Gravity.RIGHT);
    root.addView(horizontalLinearLayout);
    root.addView(horizontalNextLinearLayout);

}

メソッド create textview change layout params で解決策を得ました

               private void createTextView(String text, LinearLayout root,
                          int textSize,int width, int height, int gravity) {

                        TextView textView = new TextView(context);
              LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(100,
                         height);
              createTextView(textTwo, horizontalNextLinearLayout, 18,
              android.widget.LinearLayout.LayoutParams.WRAP_CONTENT,
              android.widget.LinearLayout.LayoutParams.WRAP_CONTENT,
              Gravity.LEFT);
4

1 に答える 1