2016-01-02 1 views
1

Я столкнулся с проблемой с нижестоящим макетом страницы Android, где изображение моего пейджера не занимает около 60% изображения в пространстве, выглядит очень маленькой в ​​представлении галереи пейджера. Похоже, что scrollview с viewpager имеет некоторую проблему, но не может понять, как это можно исправить. Я приложил скриншот итоговой страницы. Просьба представить свои ценные советы о том, как это можно достичь. БлагодаряViewPager gallery image layout issue

<?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" > 

    <TextView 
     android:id="@+id/txtTitle" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:textStyle="normal" 
     android:textSize="22sp" 
     android:padding="5dp" 
     style="@style/news_page_font2" 
     android:text="@string/blank"/> 

    <ScrollView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:fillViewport="true" 
     android:layout_weight="1" 
     > 

     <LinearLayout 
      android:orientation="vertical" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      > 
      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="0dp" 
       android:layout_weight="3" 
       android:orientation="horizontal"> 

       <ImageView 
        android:id="@+id/prev" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:layout_weight="0.1" 
        android:contentDescription="@string/app_name" 
        android:src="@drawable/previous_item" /> 

       <android.support.v4.view.ViewPager 
        android:id="@+id/view_pager" 
        android:layout_width="0dp" 
        android:layout_height="fill_parent" 
        android:layout_weight="0.8"> 
       </android.support.v4.view.ViewPager> 

       <ImageView 
        android:id="@+id/next" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:layout_weight="0.1" 
        android:contentDescription="@string/app_name" 
        android:src="@drawable/next_item" /> 
      </LinearLayout> 

      <LinearLayout 
       android:orientation="vertical" 
       android:layout_width="fill_parent" 
       android:layout_height="0dp" 
       android:layout_weight="2" 
       > 
       <TextView 
        android:id="@+id/txtDate" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:textStyle="italic" 
        android:textSize="12sp" 
        android:padding="5dp" 
        style="@style/news_page_font" 
        android:text="@string/blank" /> 

       <ScrollView 
        android:id="@+id/horizontalScrollView1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentTop="true" 
        android:scrollbars="none" > 

        <TextView 
         android:id="@+id/txtdesc" 
         android:layout_width="fill_parent" 
         android:layout_height="wrap_content" 
         android:textStyle="italic" 
         android:textSize="21sp" 
         android:padding="7dip" 
         style="@style/news_page_font" 
         android:text="@string/blank"/> 
       </ScrollView> 
      </LinearLayout> 
     </LinearLayout> 
    </ScrollView> 

    <LinearLayout 
     android:id="@+id/adbar" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" > 
    </LinearLayout> 

</LinearLayout> 

код из Java-файл, который Атташе изображение для просмотра пейджера на лету:

@Override 
    public Object instantiateItem(ViewGroup container, int position) { 
     ImageView imageView = new ImageView(context); 
     . 
     . 
     ((ViewPager) container).addView(imageView, 0); 

     return imageView; 
    } 

result page from the above layout

+0

Где скриншот? –

+0

Я только что добавил, что при добавлении изображения произошла ошибка. – user3208935

ответ

0

использование андроида: scaleType = "fitXY" в ImageView, который вы используете in Viewpager

+0

с fitXY (imageView.setScaleType (ImageView.ScaleType.FIT_XY);) Ширина изображения увеличена, но высота все равно такая же маленькая. Мне нужна высота около 50-60% высоты экрана. – user3208935

+0

Просто поместите свой просмотрщик в единый макет и установите его. Надеюсь, он поможет – pratik

+0

Привет, Пратик, не могли бы вы рассказать подробнее .. не могли понять, что нужно делать именно так. – user3208935

0
<RelativeLayout 
    android:id="@+id/imagelayout11" 
    android:layout_width="fill_parent" 
    android:layout_height="150dp"> 


<android.support.v4.view.ViewPager 
    android:id="@+id/imagelayout" 
    android:layout_width="fill_parent" 
    android:layout_height="150dp" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" > 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="match_parent" 
     android:scaleType="fitXY"/> 
</android.support.v4.view.ViewPager> 

     <!-- pager indicators --> 
            <RelativeLayout 
              android:layout_width="wrap_content" 
              android:layout_height="20dp" 
              android:layout_alignParentBottom="true" 
              android:layout_marginBottom="10dp" 
              android:layout_centerHorizontal="true" 
              > 


              <ImageView 
               android:id="@+id/dot1" 
               android:layout_width="10dp" 
               android:layout_height="10dp" 
               android:background="@drawable/viewpageroff" 
              /> 
               <ImageView 
                android:id="@+id/dot2" 
                android:layout_width="10dp" 
                android:layout_height="10dp" 
                android:layout_toRightOf="@+id/dot1" 
                android:layout_marginLeft="5dp" 
                android:background="@drawable/viewpageroff" 
              /> 
               <ImageView 
                 android:id="@+id/dot3" 
                 android:layout_width="10dp" 
                 android:layout_height="10dp" 
                 android:layout_toRightOf="@+id/dot2" 
                 android:layout_marginLeft="5dp" 
                 android:background="@drawable/viewpageroff" 
              /> 
            </RelativeLayout> 
</RelativeLayout> 

// использовать этот адаптер для установки ваших изображений на странице просмотра

class CustomPager extends PagerAdapter 
{ 
    @Override 
    public int getCount() { 
     return pagerimages.length; 
    } 

    @Override 
    public boolean isViewFromObject(View view, Object object) { 
     return view== ((LinearLayout) object); 
    } 

    @Override 
    public Object instantiateItem(ViewGroup container, int position) { 
     LayoutInflater inflater=getLayoutInflater(); 
     View view=inflater.inflate(R.layout.pager_item, container, false); 
     ImageView imgvvv=(ImageView)view.findViewById(R.id.imageView); 
     // ImageView profilepic=(ImageView)view.findViewById(R.id.profilepiccc); 
    //profilepic.setImageResource(profilepicture[position]); 
//   roundimagee=new RoundImage(profilepic); 

     imgvvv.setImageResource(pagerimages[position]); 
     container.addView(view); 
     return view; 
    } 
    @Override 
    public void destroyItem(View container, int position, Object object) { 
     // TODO Auto-generated method stub 
     ((ViewPager) container).removeView((ViewGroup) object); 
    } 
}