2014-04-23 2 views
0

회사의 사진을 보여줄 응용 프로그램을 만들고 있습니다. 상대 레이아웃 내에서 ImageView를 만들었으며 사용자가 하나씩 이미지를 스 와이프 할 수 있도록 만들었습니다. 그러나, 이클립스에서 모두 괜찮아 보이는데 (이미지 뷰가 부모와 일치하는 등)하지만 에뮬레이터 나 장치에서 이미지를 실행하면 이미지가 작게 나온다! 내가 도대체 ​​뭘 잘못하고있는 겁니까? 여기이미지가 평소보다 작게 나옵니다! Android-Java 개발

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".Wedding" 
    android:background="#000000" 
    android:orientation="vertical"> 

    <android.support.v4.view.ViewPager 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/view_pager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" /> 

</RelativeLayout> 

그리고 내 자바 클래스입니다 :

다음은 페이지 내 XML의

package com.example.ijazphotography; 

import android.os.Bundle; 
import android.content.Context; 
import android.app.Activity; 
import android.support.v4.view.PagerAdapter; 
import android.support.v4.view.ViewPager; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ImageView; 



public class Wedding extends Activity { 



@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_wedding); 
    // Show the Up button in the action bar. 
    ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager); 
    ImagePagerAdapter adapter = new ImagePagerAdapter(); 
    viewPager.setAdapter(adapter); 
    } 

    private class ImagePagerAdapter extends PagerAdapter { 
     private int[] mImages = new int[] { 
      R.drawable.wed11, 
      R.drawable.wed15, 
      R.drawable.wed16, 
      R.drawable.wed17, 
      R.drawable.wed2, 
      R.drawable.wed20, 
      R.drawable.wed23, 
      R.drawable.wed24, 
      R.drawable.wed4, 
      R.drawable.wed5, 
      R.drawable.wed6, 
      R.drawable.wed7 
     }; 

     public int getCount() { 
      return mImages.length; 
     } 

     public boolean isViewFromObject(View view, Object object) { 
      return view == ((ImageView) object); 
     } 
     public Object instantiateItem(ViewGroup container, int position) { 
      Context context = Wedding.this; 
      ImageView imageView = new ImageView(context); 

      int padding = context.getResources().getDimensionPixelSize(
       R.dimen.padding_medium); 
      imageView.setPadding(padding, padding, padding, padding); 
      imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); 
      imageView.setImageResource(mImages[position]); 
      ((ViewPager) container).addView(imageView, 0); 
      return imageView; 
      } 
     public void destroyItem(ViewGroup container, int position, Object  object) { 
      ((ViewPager) container).removeView((ImageView) object); 
      } 
    } 
} 
+0

'ScaleType.FIT_XY'을 사용해보세요. –

+0

이 작품! 대단히 감사합니다. ImageButton 역시이 기능을 사용할 수 있습니까? @HamidShatu –

+0

@BilalHaider ... 답변 옵션에서 귀하의 질문에 답변했습니다. –

답변

1

ImageView의 이미지에 맞게.

질문에 따라 ScaleType.FIT_XY는 ImageButton에서 작동합니까? 예, ImageButton에도 적용됩니다.

0

그 폭과 높이 설정 "fill_parent"없습니다 "match_parent"있어야하지 않나요? 대신

ScaleType.CENTER_INSIDE 

사용

ScaleType.FIT_XY 

+0

그게 전부지만, 나는 그들이 똑같은 것을 읽었습니다. 내가 완전히 말도 안 읽는다면? Lol @Agnes –

+0

아니, 네 말이 맞아. 나는 구식이야. match_parent는 사용할 올바른 것입니다. – Agnes

관련 문제