2013-02-16 4 views
0

에 대한 가로 및 세로 스크롤 뷰를 모두 추가하면 RelativeLayout이 사용됩니다. 나는 수평 및 수직 scrollview를 imageview에 추가하고 싶다. 나는 그것을 시도했지만 작동하지 않습니다. 이미지 뷰 크기는 800 * 800이어야합니다. LinearLayout이 필요합니다. 어떻게해야합니까? 제발 도와주세요.내 application.i에서 이미지 뷰

XML 파일 -

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@color/Beige" 
android:focusable="true" 
android:orientation="vertical" > 

<LinearLayout 
    android:id="@+id/linearLayout1" 
    style="@color/Bisque" 
    android:layout_width="250dp" 
    android:layout_height="fill_parent" 
    android:background="@color/Plum" 
    android:orientation="vertical" > 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="60dp" 
     android:layout_height="50dp" 
     android:layout_marginLeft="20dp" 
     android:layout_marginTop="30dp" 
     android:background="@color/Thistle" 
     android:onClick="importFile" 
     android:text="@string/Import" /> 

    <LinearLayout 
     android:layout_width="200dp" 
     android:layout_height="100dp" 
     android:layout_marginLeft="10dp" 
     android:layout_marginTop="50dp" 
     android:background="@color/Thistle" 
     android:orientation="vertical" > 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="200dp" 
     android:layout_height="210dp" 
     android:layout_marginLeft="10dp" 
     android:layout_marginTop="50dp" 
     android:background="@color/Thistle" 
     android:orientation="vertical" > 

     <LinearLayout 
      android:layout_width="180dp" 
      android:layout_height="50dp" 
      android:layout_marginTop="20dp" 
      android:gravity="center" 
      android:orientation="horizontal" > 

      <Button 
       android:id="@+id/yes" 
       android:layout_width="wrap_content" 
       android:layout_height="40dp" 
       android:layout_weight="0.15" 
       android:background="@color/Thistle" 
       android:focusable="false" 
       android:text="@string/X" 
       android:textColor="@color/PaleVioletRed" 
       android:textColorHint="@color/PaleVioletRed" 
       android:textSize="35sp" 
       android:textStyle="bold" 
       android:typeface="normal" 
       android:width="4dp" /> 

      <Button 
       android:id="@+id/no" 
       android:layout_width="30dp" 
       android:layout_height="40dp" 
       android:layout_marginLeft="60dp" 
       android:background="@drawable/cor" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="180dp" 
      android:layout_height="50dp" 
      android:layout_marginTop="20dp" 
      android:gravity="center" 
      android:orientation="horizontal" > 

      <Button 
       android:id="@+id/back" 
       android:layout_width="40dp" 
       android:layout_height="30dp" 
       android:layout_marginTop="5dp" 
       android:background="@color/Thistle" 
       android:text="@string/l" 
       android:textColor="@color/PaleVioletRed" 
       android:textColorHint="@color/PaleVioletRed" 
       android:textSize="30sp" 
       android:textStyle="bold" 
       android:typeface="sans" /> 

      <TextView 
       android:id="@+id/color" 
       android:layout_width="40dp" 
       android:layout_height="30dp" 
       android:layout_marginLeft="10dp" 
       android:background="@color/Black" /> 

      <Button 
       android:id="@+id/next" 
       android:layout_width="40dp" 
       android:layout_height="30dp" 
       android:layout_marginLeft="10dp" 
       android:layout_marginTop="6dp" 
       android:background="@color/Thistle" 
       android:text="@string/r" 
       android:textColor="@color/PaleVioletRed" 
       android:textSize="30sp" 
       android:textStyle="bold" 
       android:typeface="sans" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="180dp" 
      android:layout_height="50dp" 
      android:layout_marginTop="20dp" 
      android:gravity="center" 
      android:orientation="horizontal" > 

      <Button 
       android:id="@+id/sub" 
       android:layout_width="40dp" 
       android:layout_height="30dp" 
       android:background="@drawable/plus" 
       android:textSize="40sp" /> 

      <Button 
       android:id="@+id/add" 
       android:layout_width="40dp" 
       android:layout_height="30dp" 
       android:layout_marginLeft="60dp" 
       android:background="@drawable/minus" /> 
     </LinearLayout> 
    </LinearLayout> 
</LinearLayout> 

<LinearLayout 
    android:id="@+id/linearLayout2" 
    android:layout_width="fill_parent" 
    android:layout_height="100dp" 
    android:layout_alignParentTop="true" 
    android:layout_toRightOf="@+id/linearLayout1" 
    android:background="@color/Thistle" 
    android:orientation="horizontal" > 

    <Button 
     android:id="@+id/save" 
     android:layout_width="80dp" 
     android:layout_height="50dp" 
     android:layout_marginLeft="30dp" 
     android:layout_marginTop="30dp" 
     android:background="@color/MistyRose" 
     android:text="@string/Save" /> 

    <Button 
     android:id="@+id/send" 
     android:layout_width="80dp" 
     android:layout_height="50dp" 
     android:layout_marginLeft="50dp" 
     android:layout_marginTop="30dp" 
     android:background="@color/MistyRose" 
     android:text="@string/Send" /> 
</LinearLayout> 

<ScrollView 
    android:id="@+id/scrollView1" 
    android:layout_width="800dp" 
    android:layout_height="800dp" 

    android:layout_alignLeft="@+id/linearLayout2" 
    android:layout_below="@+id/linearLayout2" > 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     > 


     <HorizontalScrollView 
     android:id="@+id/hv" 

    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
     > 
      <ImageView 
      android:id="@+id/imv" 
      android:background="@drawable/blu" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 

      /> 
    </HorizontalScrollView> 
     </LinearLayout> 
</ScrollView> 

+0

당신은 주변의 이미지를 _pan_ 의미 ​​: 없음 ScrollViews 또는 HorizontalScrollViews는 작동시킬 필요하지? –

+0

@SiddharthLele 예 .. –

+0

좀 더 간단한 방법을 제안하겠습니다. 내가하는 제안이 당신에게 문제가 없는지 확인하십시오. –

답변

3

대신 내가 구현 될 수도 모르겠습니다 이미지 패닝을 활성화하기 위해있는 ScrollView와 HorizontalScrollView의 이미지에 맞게 노력하고, 할 수있는 경우 , 꽤 어려운 일이 될 수 있습니다.

PhotoView 라이브러리를 사용해보십시오. 믿을 수 없을만큼 간단하게 구현하고 매력적으로 작동합니다. 또한 보너스로 멀티 터치 및 더블 탭을 사용하여 확대/축소를 지원합니다.

해당 페이지에서 구현하는 방법에 대한 간단한 예입니다. 필요한 것은 XML에 ImageView 셋업입니다.

ImageView mImageView; 
PhotoViewAttacher mAttacher; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    // Any implementation of ImageView can be used! 
    mImageView = (ImageView) findViewById(R.id.iv_photo); 

    // Set the Drawable displayed 
    Drawable bitmap = getResources().getDrawable(R.drawable.wallpaper); 
    mImageView.setImageDrawable(bitmap); 

    // Attach a PhotoViewAttacher, which takes care of all of the zooming functionality. 
    mAttacher = new PhotoViewAttacher(mImageView); 
} 


// If you later call mImageView.setImageDrawable/setImageBitmap/setImageResource/etc then you just need to call 
attacher.update();