600x800 크기의 AVD에서 JPG (~ 770x 1024)로 단일 ImageView에서 ScrollView를 사용하려고했습니다.ImageView를 Android의 ScrollView에 추가 할 때 중복 여백이 발생했습니다.
내 main.xml에는 다음과 같습니다
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ScrollView
android:id="@+id/scroller"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
지금,
setContentView(R.layout.main);
ScrollView sv = (ScrollView)findViewById(R.id.scroller);
ImageView iv = new ImageView(this);
iv.setImageDrawable(new BitmapDrawable("/sdcard/770x1024.jpg")); // same happens with ScaleDrawable.
iv.setScaleType(ScaleType.CENTER_INSIDE);
sv.addView(sv); // and it does not go any better if I use Linear Layout between the ScrollView and the ImageView.
결과는 이미지가 배경으로 싸서있는 ScrollView의 중간에 표시 한 것입니다으로 하나의 이미지 뷰를 추가 상단 및 하단에 다음과 같은 영역을 추가합니다.
| } blank
| }
Image|
. |
. :
. :
: } blank
: }
^-scrollbar
대신
Image|
. |
. |
. |
. :
ImageView 빨간색 배경을 설정하려고 시도했는데 빈 여백이 ImageView 배경인지 확인했습니다. 나는 이미지의 크기보다 더 걸릴하지 기대
iv.setBackgroundColor(color.Red);
는합니다 (AVD 크기로 축소)와 내가있는 ScrollView 날 나머지 (있는 경우)를 통해 스크롤 할 것으로 예상된다.
어떤 이유로 든 드로어 블 크기는 600x1024입니다.
더욱이 는 I 선형 레이아웃은 이미지 뷰와 텍스트 뷰에 부모이고있는 ScrollView가있는 LinearLayout에 부모 등의 더미 텍스트 뷰와의 LinearLayout을 추가하려고 시도.
LinearLayout dummy = new LinearLayout(this);
dummy.addView(iv);
TextView someTextView = new TextView(this);
someTextView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
dummy.addView(someTextView);
sv.addView(dummy);
결과
매우 독특한이었다 전체 레이아웃 텍스트 적은 텍스트 뷰 (19)의 높이로 설정 하였다.______________________
| T I T L E B A R |
+--------------------+
| []<-image |
| height=19px |
. .
. .
+--------------------+
이미지를 늘리지 않는 것이 중요합니다. ScaleType에 FIT_XY를 사용할 수 없습니다. 잠재적으로 스크롤 할 수있는 페이지 표시를 구현하는 권장 방법은 무엇입니까? 일반 레이아웃으로 수동으로 수행해야하고 GestureDetector.OnScroll 이벤트를 스크롤해야합니까?
감사
쉬 무엘
P.S : 또 다른 관찰 : 600x780 (비례 스케일링)에 이미지 스케일 다운과 함께 제대로 작동 않습니다. 불행히도, 나를 위해 이미지의 축소 된 클론 세트를 사용하는 것은 불가능합니다.
는 또 죄송합니다 ... 그것은 왼쪽과 오른쪽 작물보다 조금 :( 가 실제로 폭이 FILL_PARENT처럼 행동하려는 것보다, WRAP_CONTENT와 같은 높이, 그리고 imageView.getHeight()> screen_height 인 경우 ScrollView를 스크롤 할 수 있습니다. (이미지의 경계에서만 ... 그 이상) 사실, 저는 빠르고 매우 더러운 것 : FIT_START. 이미지는 ScrollView 상단에 표시되며 언뜻보기에는 괜찮습니다. 아래로 스크롤하지 않는 한 - 그러면 큰 검은 색 영역이 보입니다. – Meymann