1
부모 스크롤 뷰와 가로 스크롤 뷰 내부에 테이블 레이아웃의 tablerow를 동적으로 생성했습니다.버튼 테이블 레이아웃을 확대하십시오.
이 테이블 레이아웃에서 단추 또는 핀치 확대/축소를 구현하고 싶습니다. 그것을하는 방법? 구현하기 쉬운 두 가지 중 하나가 가능합니다.
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="10dp" android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView android:layout_below="@+id/tableHeader"
android:layout_width="match_parent" android:layout_height="match_parent"
android:id="@+id/scrollZoomView">
<TableLayout android:stretchColumns="0,1" android:id="@+id/main_table"
android:layout_height="wrap_content" android:layout_width="match_parent" />
</ScrollView>
</HorizontalScrollView>
편집
는 자바 코드를 추가합니다 : 내가 무엇입니까zoomIn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
zoom(2.0f, 2.0f, 0.0f, 0.0f);
}
});
zoomOut.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
zoom(1.0f, 1.0f, 0.0f, 0.0f);
}
});
public void zoom(float scalex, float scaley, float pivotx, float pivoty){
sv.setScaleX(scalex);
sv.setScaleY(scaley);
sv.setPivotX(pivotx);
sv.setPivotY(pivoty);
sv.requestLayout();
}
문제가 스크롤 폭과 높이가 확대 된 데이터에 맞게 자체를 업데이트하지 않는 것입니다. 예를 들어 테이블에 100 개의 행이 있습니다. 확대 한 후 80 번째 줄까지 스크롤 할 수 있습니다. 축소하면 BAM! 나는 정상적인 크기로 100 번째 행을 본다.
나는
sv.requestLayout();
도 아무 일하지
invalidate();
을 시도 추가했습니다.
무엇이 문제입니까? 그것을 해결하는 방법?
이것이 작동하지 않는 것 같습니다. Java 코드에 대한 업데이트 된 질문을 확인하십시오. 내가 지쳐서. –