0

カルーセル ビューで画像を表示するアプリを作成しました。別のxmlレイアウトファイルにあるimageviewに画像をロードし、メインのxmlレイアウトファイルに含まれるカルーセルビューに設定しました。

ここで、画像を画像ビューにロードする方法

public View getView(int position, View convertView, ViewGroup parent) {
        View vi=convertView;
        if(convertView==null)
            vi = inflater.inflate(R.layout.showsmain, null);
        ImageView image=(ImageView)vi.findViewById(R.id.imageView1);
        //LinearLayout rlayout=(LinearLayout)vi.findViewById(R.id.layout);
       image.setImageResource(R.drawable.black);
        orgWidth = image.getDrawable().getIntrinsicWidth();
        orgHeight = image.getDrawable().getIntrinsicHeight();
        imageLoader.DisplayImage(data[position], image);
        imageLoader.getDimension(widthScreen, heightScreen);

        LinearLayout lhome=(LinearLayout)((Activity) activity).findViewById(R.id.layouthome);
//        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
//              widthScreen,heightScreen/3);
        RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
                    widthScreen,heightScreen/3);
        params.width=orgWidth;
            image.setLayoutParams(params);
            image.setScaleType(ImageView.ScaleType.FIT_XY);

        return vi;
    }

orgWidth は imageview の幅です。widthscreen は、アプリが実行される画面の幅です。以下に、画像がカルーセル ビューでどのように読み込まれるかを示します。

![ここに画像の説明を入力][1]

ここで、画像がトリミングされていることがわかります。クロップせずに画像を読み込みたい....

スタックオーバーフローで3つの質問をして、3日間これを処理しようとしました。誰かが答えを知っているなら.....助けてください

ここでは、カルーセル レイアウトの xml ファイルも提供します。

<com.touchmenotapps.carousel.simple.HorizontalCarouselLayout
        android:id="@+id/carousel_layout_event"
        android:layout_width="600dp"
        android:layout_height="500dp"
        android:layout_above="@+id/relativeLayout1"
        android:layout_alignTop="@+id/carousel_layout" >
    </com.touchmenotapps.carousel.simple.HorizontalCarouselLayout>
4

1 に答える 1