2012-06-19 4 views
0

안드로이드 커버 플로우 : http://code.google.com/p/android-coverflow/내가 현재 안드로이드 커버 플로우를 테스트하고있어</p> <p>가 여기 안드로이드 개발에 새로 온 높이

나는 succeffully 그러나 나는 위젯을 제공 할 수있는 방법을 찾을 수 없습니다, 내 프로젝트에서 그것을 구현 필요한 폭과 높이

내 레이아웃 : imageHeight 및 커버 플로우 :

<view 
    xmlns:coverflow="http://schemas.android.com/apk/res/com.accessdev.myapp" 
    android:id="@+id/coverflow" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_marginTop="5dip" 
    class="pl.polidea.coverflow.CoverFlow" 
    coverflow:imageHeight="150dip" 
    coverflow:imageWidth="100dip" > 
</view> 

는 커버 플로우를 변경 IMAGEWIDTH 만 AFF 이미지의 크기를 바꾸지 만 위젯이 높이 (화면의 10 %와 비슷하지만 아직 그것을 변경하지 못함)를 채우지 않습니다.

+0

당신이 솔루션을 가지고 있다면 나는 동일한 기능을 수행 할 수없는 나처럼 안녕 공유하시기 바랍니다. –

답변

1

메소드 setAdapter의 클래스 Coverflow에서 볼 수 있듯이 어댑터 너비 및 높이는 imageWidth/imageHeight로 설정되므로 parseAttributes 메서드에서 두 변수의 값을 수정하십시오.

편집 : 너비/높이가 fill_parent로 설정된 ImageView가 포함 된 xml을 부 풀리기 위해 AbstractCoverflowAdapter를 수정할 수 있다고 생각합니다. 즉 작동합니다 : D

는 XML의 경우 :

<?xml version="1.0" encoding="utf-8"?> 
<ImageView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/image" 
    android:layout_width="200dip" 
    android:layout_height="400dip" 
    android:src="@drawable/ic_launcher" /> 

를 어댑터의의 getView()에서 :

 LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     row = inflater.inflate(R.layout.your_layout, parent, false); 
     ImageView image = (ImageView) row.findViewById(R.id.image); 
     image.setImageBitmap(your_bitmap); 
+0

parseAttributes 메서드에서 이렇게 하드 코딩하면 : imageWidth = 480; imageHeight = 320; 동일한 문제가 발생했습니다 –

+0

AbstractCoverFlowAdapter를 보면 getView에서 다음을 볼 수 있습니다. imageView.setLayoutParams (new CoverFlow.LayoutParams ((int) width, (int) height)); - 즉, coverflow의 이미지는 parseAttributtes()에 주어진 크기를 가져옵니다. 다른 방법으로 코드/레이아웃을 수정하는 방법이없는 한 Coverflow는 주어진 크기 만 취할 것입니다. –