【发布时间】:2017-09-09 03:41:00
【问题描述】:
我正在 Firebase 存储上上传图片,当我在 Firebase 的存储中看到它们时,这些图片看起来很好,但是当我在我的 Activity 上检索这些图片时,图片会从顶部和底部被裁剪,高度为的图片会发生这种情况更长。我正在像这样在 Firebase 上发送图像
if(mImageUri!=null) //
{
StorageReference filepath=mstorage.child("Images").child(mImageUri.getLastPathSegment());
filepath.putFile(mImageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
final Uri downloadUrl= taskSnapshot.getDownloadUrl();
final DatabaseReference newPost=mDatabase.push();
mDatabaseUser.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
newPost.child("Image").setValue(downloadUrl.toString());
newPost.child("Name").setValue(dataSnapshot.child("name").getValue()).addOnCompleteListener(
new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful())
{
startActivity(new Intent(PostActivity.this,MainActivity.class));
finish();
}
else
{
Toast.makeText(PostActivity.this,"An Error Has Occurred.",Toast.LENGTH_LONG).show();
}
}
});
}
@Override
public void onCancelled(DatabaseError databaseError) {
Toast.makeText(PostActivity.this,"Error Uploading data",Toast.LENGTH_LONG).show();
}
});
mProgress.dismiss();
//startActivity(new Intent(PostActivity.this,setupActivity.class));
}
});
}
这是 PostActicity Xml 文件:
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:foregroundGravity="center">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/back"
android:orientation="vertical">
<ImageButton
android:id="@+id/MimageSelect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:background="#00ffffff"
android:scaleType="centerCrop"
android:src="@mipmap/add_btn" />
</LinearLayout>
</ScrollView>
<EditText
android:id="@+id/Mphone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/submit"
android:layout_centerHorizontal="true"
android:layout_marginLeft="6dp"
android:layout_marginRight="6dp"
android:layout_marginBottom="5dp"
android:background="@drawable/input_outline"
android:ems="10"
android:hint="Caption"
android:padding="15dp"
android:singleLine="false" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="UPLOAD"
android:id="@+id/submit"
android:background="@color/colorPrimary"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:textColor="@android:color/white"
android:textStyle="bold"
android:textSize="16dp" />
这就是我检索图像的方式:
mDatabase.child(mPostKey).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String post_image=(String) dataSnapshot.child("Image").getValue();
String post_uid=(String) dataSnapshot.child("uid").getValue();
Picasso.with(profileSingleActivity.this).load(post_image).into(mImage);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
这是我在其中检索图像的活动的 XML 文件:
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/scroll"
android:foregroundGravity="center">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/back"
android:orientation="vertical">
<ImageButton
android:id="@+id/MimageSelect"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_margin="12dp"
android:adjustViewBounds="true"
android:background="#00ffffff"
android:scaleType="centerCrop"
android:src="@mipmap/add_btn" />
</LinearLayout>
</ScrollView>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Delete Post"
android:id="@+id/removeBtn"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:background="@color/design_textinput_error_color_light"
android:textColor="@color/abc_primary_text_disable_only_material_dark"
android:textStyle="bold" />
【问题讨论】:
-
你能发布
mImageImageView 的配置吗? XML 或 java 都可以 -
查看编辑版本@bash
-
这不是 Android Studio 问题,所以不要使用 Android Studio 标签
-
是的,它是@LunarWatcher
-
@SyyamNoor 它在 in android studio 中不会成为 about android studio 的问题。不要挑这个打,我有一个标签说明支持它
标签: android firebase firebase-storage