「カスタムリストビュー」のようなものがありますが、それは別のテーブルレイアウトのいくつかのテーブルレイアウトであり、すべてが1つの大きなScrollView
.
onClick
テーブルの 1 つでメソッドを展開しlabel.setVisibility
、button.setvisibility
toview.VISIBLE
および change に変更しonClickListener
ます。
たとえば、ボタンのテキストが突然左に移動する2つのテーブルを展開すると、問題が発生します。Android:gravity や HTML からのカスタム テキスト形式は役に立ちませんでした。
何か案は?
図 1: 最初に開いた
図 2: 2 番目に開いた
ボタンのコードとテーブルの onClickListener (NOT BUTTON!!)
private TableRow PrepareAdditionalInfoButton(int id) {
TableRow tableRow = new TableRow(ClassX.this);
tableRow.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
Button button = new Button(ClassX.this);
button.setText("Odborné informace");
LayoutParams layoutParams = new LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
layoutParams.leftMargin = 20;
layoutParams.rightMargin = 20;
button.setLayoutParams(layoutParams);
button.setVisibility(View.GONE);
button.setId(id + 2000);
button.setOnClickListener(onClickListener);
tableRow.addView(button);
return tableRow;
}
テーブル onClickListener:
public View.OnClickListener showDetail = new View.OnClickListener() {
public void onClick(View view) {
int id = view.getId();
View additionalInfo = findViewById(id + 1000);
additionalInfo.setVisibility(View.VISIBLE);
View additionalInfoButton = findViewById(id + 2000);
additionalInfoButton.setVisibility(View.VISIBLE);
view.setOnClickListener(closeDetail);
}
};