0

アプリケーションの各行の先頭に 1 つの画像を配置したいと考えています。問題は、画像を縮小しすぎること です。空間全体を占めるようにしたい。

main.xml :

<?xml version="1.0" encoding="utf-8"?>
    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        android:scrollbars="vertical"
        >
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:id="@+id/tableView"
        android:layout_height="fill_parent"
        android:layout_weight=".90"
        android:stretchColumns="1"
            ></TableLayout>
    </ScrollView>

これは私が画像を追加する方法です:

 TableLayout tableView = (TableLayout) findViewById(R.id.tableView);
        TableRow row = new TableRow(this);
        ImageView im;
        Bitmap bmp;
        im = new ImageView(this);
        bmp=getbmp(s);
    im.setImageBitmap(bmp);  
        row.addView(im, new TableRow.LayoutParams(70, 30)); 
        tableView.addView(row, new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT,  LayoutParams.WRAP_CONTENT));

画像からパラメータを変更してTableRow.LayoutParams(70, 30));も同じままで、行だけが大きく/小さくなります。また、これらのパラメータを十分に小さくすると画像が小さくなる可能性がありますが、それは私がやりたいことではありません。必ずしも全体像が必要というわけではありません。そのスペースを埋めるトリミングされたズームインもいいでしょう。これはウェブサイトのサンプル画像です。画像を次のように配置するとrow.addView(im);、画像が大きくなりすぎて、テキスト用のスペースがなくなります。

4

1 に答える 1

2

それはあなたに役立つかもしれません

TableLayout tableView = (TableLayout) findViewById(R.id.tableView);

TableRow row = (TableRow) inflater.inflate(R.layout.tablerow, tableView, false);

ImageView imgDis = (ImageView) row.findViewById(R.id.spinnerEntryContactPhoto);

imgDis.setPadding(5, 5, 5, 5);
imgDis.setAdjustViewBounds(true);


// set row height width
TableRow.LayoutParams params = new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, 50);
params.topMargin = 0;
params.bottomMargin = 0;
params.leftMargin = 0;
params.rightMargin = 0;

// If you want to set margin of row
tableView.addView(row, params); 
tablerow.xml

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

    <ImageView android:id="@+id/spinnerEntryContactPhoto"
        android:layout_gravity="center_vertical" 
        android:layout_width="70dip" 
        android:layout_height="30dip"/>
</TableRow>
于 2011-09-30T10:23:22.297 に答える