2012-12-20 43 views
10

Trong file xml của tôi, tôi có một bố cục tuyến tính mà có một ViewPager cho hiển thị hình ảnh và một bố trí tuyến tính có chứa các nút Previous và Next để lựa chọn images.My xml trông như thế này:ViewPager trong Android đang chụp toàn màn hình?

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 

     <android.support.v4.view.ViewPager 
      android:id="@+id/pager" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" /> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:orientation="horizontal" > 

      <Button 
       android:id="@+id/goto_first" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="first" > 
      </Button> 

      <Button 
       android:id="@+id/goto_last" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="last" > 
      </Button> 
     </LinearLayout> 

    </LinearLayout> 

Vấn đề của tôi là ViewPager đang chụp toàn màn hình và Linearlayout với các nút tiếp theo trước đó không hiển thị vì không còn khoảng trống để vẽ LinearLayout này.

Tôi đang sử dụng mảnh vỡ để cư ViewPager với views.The file xml cho xem đoạn mà đi vào ViewPager là:

<ImageView 
    android:id="@+id/ItemImage" 
    android:layout_width="320dp" 
    android:layout_height="180dp" /> 

<TextView 
    android:id="@+id/ItemText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="left|bottom" 
    android:layout_marginBottom="5dp" 
    android:textColor="#ffffffff" 
    android:textStyle="bold" /> 
</FrameLayout> 

Kết quả tôi nhận được sau khi vẽ là trong này cách thức:
1. hình ảnh (bao gồm 45% chiều cao màn hình)
2.không gian trống (bao gồm 45% chiều cao màn hình)
3.Textview (bao gồm phần còn lại của chiều cao màn hình 10%)

Sản lượng tôi muốn là:
1.image (bao gồm 45% chiều cao màn hình)
2.Textview (bao gồm 10% chiều cao màn hình)
3.LinearLayout cho các nút (bao gồm phần còn lại của chiều cao màn hình 45%)

+0

Tôi nhận được câu trả lời của mình [link] http://stackoverflow.com/questions/8532307/android-viewpager-dimension?rq=1 – user818455

+2

Vì vậy, những gì bạn đã học được ngày hôm nay? Làm một số googling và tìm kiếm trên trang web này trước khi hỏi Câu hỏi :) –

+0

@Miral Tôi đã làm điều đó nhưng bằng cách nào đó nó không xuất hiện trong kết quả tìm kiếm và đột nhiên sau khi đăng câu hỏi này tôi tìm thấy liên kết đến câu hỏi. thêm thời gian để tìm kiếm – user818455

Trả lời

4

Vấn đề với người xem là họ không biết kích thước từ mỗi đoạn có thể có thể là kích thước khác. Bạn phải đặt thủ công chế độ xem của người xem, chứ không phải là wrap_content. Tôi khuyên bạn nên đặt trọng số cho tất cả các mục trong bố cục tuyến tính bên ngoài.

8

Chỉ cần cung cấp cho những người đến ViewPager:

android:layout_height="0dp" 
android:layout_weight="1" 
+2

'android: layout_weight =" 1 "' không hoạt động cho 'ViewPager' –

3

Chỉ cần sử dụng một RelativeLayout và sử dụng các thuộc tính như `

android: layout_below

cho đến khi bạn đạt được vị trí mà bạn mong muốn. Giao diện tương đối là bạn của bạn trong những trường hợp này.

7

Sử dụng RelativeLayout. Thêm các nút của bạn vào dưới cùng với alignParentBottom="true". Sau đó, thêm ViewPager với layout_above="@id/buttons"

+1

Đây là câu trả lời đúng –

Các vấn đề liên quan