0
컷섬 키보드에 HUD 디스플레이를 구현하려고합니다. HUD에는 키/값 쌍이 포함됩니다. 나는 프로그래밍 방식으로 TableLayout을 만들고이를 캔버스에 그려야한다. 이를 위해, 나는 keyboardview 된 onDraw를 무시하고있다() 메소드 :안드로이드 - 동적 TableLayout이 나타나지 않습니다.
@Override
public void onDraw(Canvas canvas) { // In the custom MyKeyboardView class
MyHUD hud = new MyHUD(getContext());
super.onDraw(canvas);
hud.tl.draw(canvas); //tl being the TableLayout to draw
}
MyHUD 클래스 :
public class MyHUD {
public TableLayout tl;
private MyData mData;
public MyHUD(Context context) {
TableRow.LayoutParams trParams = new TableRow.LayoutParams(
TableRow.LayoutParams.FILL_PARENT, TableRow.LayoutParams.WRAP_CONTENT);
TableLayout.LayoutParams tlParams = new TableLayout.LayoutParams(
TableLayout.LayoutParams.FILL_PARENT, TableLayout.LayoutParams.WRAP_CONTENT);
tl = new TableLayout(context);
tl.setLayoutParams(tlParams);
for (int i = 0; i < 10; i++) {
TableRow tr = new TableRow(context);
tr.setId(100+i);
tr.setLayoutParams(trParams);
TextView charTV = new TextView(context);
charTV.setId(200+i);
charTV.setText("Hello " + i);
charTV.setTextColor(Color.RED);
//charTV.setLayoutParams(trParams);
tr.addView(charTV);
TextView keyTV = new TextView(context);
keyTV.setId(300+i);
keyTV.setText("world " + i);
keyTV.setTextColor(Color.CYAN);
//keyTV.setLayoutParams(trParams);
tr.addView(keyTV);
tl.addView(tr, tlParams);
}
}
}
현재 데이터 페칭이 없습니다
(주 단지에 "Hello World"에 대한 테스트 목적). 몇 가지 다른 게시물에서 볼 수 있듯이 TextView 레이아웃을 주석 처리했지만 문제는 아닌 것 같습니다.
대체 옵션 :
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="0,1"
android:id="@+id/my_hud" >
</TableLayout>
다음 XML과 함께
tl = (TableLayout) findViewById(R.id.my_hud);
대신 생성자를 통해 TableLayout을을 instanciating의
는, 내가 좋아하는 뭔가를 시도했다 문제는 findViewById 메서드가 내 사용자 정의 클래스에 대해 정의되지 않는다는 것입니다.
TableLayout을 제대로 그리지 않는 이유는 무엇입니까?
hud.tl.measure(canvas.getWidth(), canvas.getHeight());
hud.tl.layout(0, 0, canvas.getWidth(), canvas.getHeight());
는 이제 TableLayout을 제대로 그려집니다 :
흠 나는 단지 이것에 대해 생각했다 : 내가 layoutview를 instanciate하기 위해 keyboardview의 컨텍스트를 사용하고있는 것이 맞습니까? –