나는 extends
ImageView
인 사용자 정의보기 (CustomStrechView
)가 있습니다. 이 뷰의 요점은 가로 세로 비율을 잃지 않고 뷰를 채울 수있는 이미지를 얻는 것입니다.HorizontalScrollView에서 사용자 정의보기를 어떻게 사용합니까?
이제 CustomStrechView
은 대부분의 응용 프로그램에서 사용할 때 잘 작동하지만 내 HorizontalScrollView
내에서 적용하려고하면 이미지가 모두 사라진 것처럼 보입니다. 왜 이런 일이 일어날 지 모르겠습니다. <HorizontalScrollView />
을 제거하려고 시도했는데 이미지를 백업 할 때 설정할 필요가있는 속성이 있음을 느낄 수 있지만 찾지 못하는 것 같습니다.
누구나 내가 잘못하고있는 것을 지적하거나 HorizontalScrollView
에서 작동하는 사용자 정의보기를 얻는 더 좋은 방법을 지적 할 수 있습니까?
편집 :
조금이 놀아 후, 나는 내가 width
차원, 즉 하드 코딩하는 경우에만 이미지를 표시하는 사용자 정의보기를 얻을 수있는 것으로 확인되었습니다 :
fill_parent
로 높이를 떠나 는
<com.example.dragdropshapes.CustomStrechView
android:layout_width="200dp"
...
01 괜찮 23,516,
코드 : 디버깅을 통해
public class CustomStrechView extends ImageView{
private final Drawable srcPic;
private final String TAG = "strechyTag";
private boolean changeSize = false;
private int Xpx;
private int Ypx;
public CustomStrechView(Context context) {
super(context);
srcPic = this.getDrawable();
}
//... other constructors, not really important...
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){
Log.d(TAG, "in the onMeasure!!\n");
int width, height;
width = MeasureSpec.getSize(widthMeasureSpec);
height = width * srcPic.getIntrinsicHeight()/srcPic.getIntrinsicWidth();
setMeasuredDimension(width, height);
}
}
무엇을 얻고 있습니까? –
@Hussain - "오류"가 표시되지 않고 이미지가 나타나지 않습니다. 'HorizontalScrollView'는 아무것도 표시하지 않습니다. 스플래시 화면이 정상적으로로드되고 스크롤보기가 이동합니다. 'ImageView'를 사용하면 내 사용자 정의보기로 바꾼다면 아무 것도 나타나지 않습니다. – Mike