2

プログラムで画像を配置しようとしていますが、画像を配置すると、画像が引き伸ばされます。アプリケーションを表示するために Micromax Canvas を使用しています。

これは私のコードです

void populateData(){
        populate=(LinearLayout)findViewById(R.id.populate);
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        params.weight=1.0f;

        for(int i=0;i<10;i++) {
            LinearLayout hr_populate=new LinearLayout(this);
            hr_populate.setOrientation(LinearLayout.HORIZONTAL);

            ImageView img=new ImageView(this);
            img.setBackgroundResource(R.drawable.spicejet);

            img.setLayoutParams(params);
            ImageView img1=new ImageView(this);
            img1.setBackgroundResource(R.drawable.book);
            img1.setLayoutParams(params);
            ImageView img2=new ImageView(this);
            img2.setBackgroundResource(R.drawable.arrow);
            img2.setLayoutParams(params);

            TextView text = new TextView(this);
            text.setText("BOS");
            text.setLayoutParams(params);
            TextView text1 = new TextView(this);
            text1.setText("SAN");
            text1.setLayoutParams(params);
            TextView text2 = new TextView(this);
            text2.setText("6h15m");
            text2.setLayoutParams(params);
            TextView text3 = new TextView(this);
            text3.setText("32,163");
            text3.setLayoutParams(params);

            LinearLayout book_div = new LinearLayout(this);
            book_div.setOrientation(LinearLayout.VERTICAL);
            book_div.setLayoutParams(params);

            book_div.addView(text3);
            book_div.addView(img1);

            hr_populate.addView(img);
            hr_populate.addView(text);
            hr_populate.addView(text1);
            hr_populate.addView(text2);
            hr_populate.addView(book_div);
            hr_populate.addView(img2);
            populate.addView(hr_populate);
        }
    }

これは私のXMLコードです

<ScrollView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_below="@+id/sortFlightLayouts">

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

    </ScrollView>

この問題から抜け出すために私がしなければならない変更を教えてください

4

2 に答える 2

0

nspace が示唆するように、 ImageView のScaleTypeを設定できます。ImageView のsetScaleType()メソッドを使用できます。

eg. imageView.setScaleType(ScaleType.FIT_CENTER);

画像のスケーリングにはさまざまなオプションがあります。ScaleTypeクラスからすべてのタイプを取得できます。

アップデート:

画像の背景を設定する代わりに、ImageView のsetImageResourceメソッドを使用して画像ドローアブルを設定し、必要に応じて上記のスケーリング コードを適用します。

すなわち: 削除:img.setBackgroundResource(R.drawable.spicejet);

追加 :imag.setImageResource(R.drawable.spicejet);

于 2013-07-19T12:38:17.977 に答える