0

私はアンドロイドが初めてです。携帯電話から画像を取得できます。ただし、xml ファイルで定義されている必要な高さと幅が得られません。画像はまだ正方形ではなく長方形に見えました(元の写真を単に縮小しただけです。ただし、画像の正方形のトリミングが必要です(画像の一部をスケーリングせずに))。

XML ファイル (画像ビュー):

<ImageView 
    android:id="@+id/photo"
    android:layout_width="=100dp"
    android:layout_height="100dp" 
    android:scaleType="center"
    android:adjustViewBounds="false" 
    android:gravity="center"/>

コード:

public View getView(final int position, View convertView, ViewGroup parent) {
    ViewHolder holder;
    if (convertView == null) {
        convertView = l_Inflater.inflate(R.layout.item_view, null);
        holder = new ViewHolder();
        holder.itemImage = (ImageView) convertView.findViewById(R.id.photo);
        convertView.setTag(holder);
    } else {
        holder = (ViewHolder) convertView.getTag();
    }
    Uri fileURI = Uri.parse(itemArrayList.get(position).getPhoto());
    holder.itemImage.setImageURI(fileURI);
    return convertView;
}
4

1 に答える 1

1

ImageViewlayout_width と layout_height をピクセルではなく設定しましたdp。したがって、hdpi デバイスでは 100dp は実際には 150px であり、xhdpi では 200 です。これが問題の原因である可能性があります。幅と高さを px で設定し、画像を drawable-nodpi フォルダーに入れることができます (スケーリングを実行しないため)。また、createBitmap (Bitmap source, int x, int y, int width, int height)メソッドを使用して、必要な画像の一部を取得することもできます。

于 2012-12-26T17:09:12.003 に答える