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);