我使用以下代码添加图片:
void choosePic()
{
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(intent, GALLERY_IMAGE_ACTIVITY_REQUEST_CODE);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
if(resultCode == Activity.RESULT_OK && null != data)
{
case GALLERY_IMAGE_ACTIVITY_REQUEST_CODE:
try {
// We need to recyle unused bitmaps
if (myBitmap != null) {
myBitmap.recycle();
}
InputStream stream = getActivity().getContentResolver().openInputStream(data.getData());
myBitmap = BitmapFactory.decodeStream(stream);
stream.close();
photo.setVisibility(View.VISIBLE);
photo.setImageBitmap(myBitmap);
photo.requestLayout();
photo.setLayoutParams(layoutParams);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return;
default:
return;
}
}
我的问题是,在添加后,我会在图像的顶部和底部获得空白(大量的空间)。我明白这是因为图像视图调整大小,但我不知道如何摆脱空白。
图像视图的布局(及其邻居):
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/pic"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:visibility="gone"
android:layout_gravity="center"
android:scaleType="fitCenter"
/>
<EditText
android:id="@+id/body"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_weight="1"
android:autoLink="all"
android:fadeScrollbars="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="top"
android:hint="@string/noteshint"
android:inputType="textMultiLine"
android:linksClickable="true"
android:scrollbars="vertical" />
</LinearLayout>
</ScrollView>
注意:我为android:scaleType
元素尝试了不同的值
我的问题是,当我添加图像时,如何摆脱图像视图顶部的空白区域和按钮?
此外,还有更好的方法吗?我也在相机中添加照片。
答案 0 :(得分:0)
将比例类型设置为fitxy
android:scaleType="fitXY"
如果那个空间因为EditText 删除此行
<EditText
android:id="@+id/body"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"<-----------
android:layout_weight="1"
android:autoLink="all"
android:fadeScrollbars="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="top"
android:hint="@string/noteshint"
android:inputType="textMultiLine"
android:linksClickable="true"
android:scrollbars="vertical" />
答案 1 :(得分:0)
试试这个:
public synchronized Dimension getValues() {
return SerializationUtils.clone(d);
// OR return new Dimension(d.width, d.height);
}
答案 2 :(得分:0)
我设法使用
解决了这个问题android:adjustViewBounds="true"
android:scaleType="fitCenter"