คำถามติดแท็ก imageview

วิดเจ็ต Android ที่แสดงภาพที่กำหนดเองหรือวาดได้เช่นไอคอน

13
ภาพพื้นหลังแบบเต็มหน้าจอในกิจกรรม
ฉันเห็นแอปพลิเคชั่นมากมายที่ใช้ภาพเต็มหน้าจอเป็นพื้นหลัง นี่คือตัวอย่าง: ฉันต้องการใช้สิ่งนี้ในโครงการวิธีที่ดีที่สุดที่ฉันพบในการทำเช่นนี้คือการใช้รูปภาพที่มีขนาดใหญ่ใส่ไว้ในImageViewและใช้android: adjustViewBounds="true"เพื่อปรับระยะขอบ ปัญหาคือถ้าหน้าจอที่มีความละเอียดสูงมากภาพจะสั้น อีกทางเลือกหนึ่งที่ฉันคิดคือใช้ภาพใน a FrameLayoutโดยมีทั้งmatch_parentในwidthและheightเป็นพื้นหลัง ... สิ่งนี้ขยายภาพ แต่ฉันคิดว่าผลลัพธ์ไม่ดีมาก คุณจะทำอย่างไร

4
ความแตกต่างระหว่างประเภทสเกล CENTER_INSIDE และ FIT_CENTER แตกต่างกันอย่างไร
ฉันไม่สามารถบอกความแตกต่างระหว่างและImageView.ScaleType.CENTER_INSIDEImageView.ScaleType.FIT_CENTER CENTER_INSIDE ปรับขนาดภาพให้เท่ากัน (รักษาอัตราส่วนภาพ) เพื่อให้ทั้งขนาด (ความกว้างและความสูง) ของภาพจะเท่ากับหรือน้อยกว่าขนาดที่สอดคล้องกันของมุมมอง (ลบด้วยการซ้อนทับ) FIT_CENTER คำนวณสเกลที่จะรักษาอัตราส่วน src ดั้งเดิมไว้ แต่จะตรวจสอบให้แน่ใจว่า src นั้นพอดีกับ dst ทั้งหมด แกนอย่างน้อยหนึ่งแกน (X หรือ Y) จะพอดีพอดี ผลลัพธ์จะอยู่กึ่งกลางภายใน dst ใครสามารถเปล่งความแตกต่างระหว่างคนทั้งสองได้หรือไม่?

8
การขยายที่ไม่ต้องการรอบ ImageView
ฉันต้องรวมกราฟิกส่วนหัวในทุกกิจกรรม / มุมมองของฉัน ไฟล์ที่มีส่วนหัวเรียกว่า header.xml: <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#0000FF" android:padding="0dip"> <ImageView xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/header" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="0dip" android:layout_marginTop="0dip" android:layout_marginBottom="0dip" android:padding="0dip" android:paddingTop="0dip" android:paddingBottom="0dip" android:layout_gravity="fill" android:background="#00FF00" /> </FrameLayout> สังเกตandroid:background="#00FF00"(สีเขียว) มันเป็นเพียงจุดประสงค์ในการสร้างภาพ ฉันรวมไว้ในมุมมองของฉันเช่นนี้: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" style="@style/white_background"> <include layout="@layout/header" /> (...) ดังนั้นเมื่อฉันลองใช้จริงผลที่ได้จะเป็นรูปซ้ายแทนที่จะเป็นรูป (ขวา): (1) ส่วนนี้ - …

18
การเพิ่มรูปภาพ gif ใน ImageView ใน Android
ฉันเพิ่มรูปภาพ gif แบบเคลื่อนไหวใน imageView ฉันไม่สามารถดูเป็นภาพ gif ได้ ไม่มีภาพเคลื่อนไหว มันปรากฏเป็นภาพนิ่ง ฉันต้องการทราบว่าฉันจะแสดงเป็นภาพ gif ได้อย่างไร
135 android  imageview  gif 

8
android: ยืดภาพในมุมมองภาพให้พอดีกับหน้าจอ
ฉันมีimageviewที่มีความสูงและความกว้างตั้งค่าfill_parentเป็นlinearlayoutที่มีค่าที่ตั้งไว้เหมือนกัน ดังนั้นฉันคิดว่านี่ควรตั้งค่ารูปภาพให้พอดีกับหน้าจอ แต่จะพอดีกับ 80% เท่านั้น (ระยะขอบบนและล่างในโหมดแนวนอน) ฉันลองใช้รหัสต่อไปนี้แล้วไม่ประสบความสำเร็จ: Display display = getWindowManager().getDefaultDisplay(); int width = display.getWidth(); int height = display.getHeight(); imgView.setMinimumWidth(width); imgView.setMinimumHeight(height); imgView.setMaxWidth(width); imgView.setMaxHeight(height); ความคิดอื่น ๆ ?
126 android  imageview 

2
แทนที่รูปภาพตัวเลือกโดยใช้โปรแกรม
ฉันมี ImageView ที่มีทรัพยากรรูปภาพที่วาดได้ซึ่งตั้งค่าเป็นตัวเลือก ฉันจะเข้าถึงตัวเลือกโดยใช้โปรแกรมและเปลี่ยนภาพของสถานะที่ไฮไลต์และไม่ไฮไลต์ได้อย่างไร นี่คือรหัสของตัวเลือก: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/iconSelector"> <!-- pressed --> <item android:state_pressed="true" android:drawable="@drawable/btn_icon_hl" /> <!-- focused --> <item android:state_focused="true" android:drawable="@drawable/btn_icon_hl" /> <!-- default --> <item android:drawable="@drawable/btn_icon" /> </selector> ฉันต้องการที่จะสามารถแทนที่btn_icon_hlและbtn_iconด้วยรูปภาพอื่น ๆ

7
เปลี่ยนรูปภาพของ ImageView โดยทางโปรแกรมใน Android
เมื่อฉันเปลี่ยนรูปภาพโดยทางโปรแกรมจะแสดงภาพใหม่ที่ด้านบนของภาพเก่าซึ่งตั้งค่าไว้ในไฟล์เลย์เอาต์? นี่คือตัวอย่างไฟล์เลย์เอาต์ของฉัน: <LinearLayout android:layout_width="match_parent" android:layout_height="39dp" android:gravity="center_vertical" > <ImageView android:id="@+id/qStatusImage" android:layout_width="16dp" android:layout_height="16dp" android:layout_margin="5dp" android:background="@drawable/thumbs_down" /> <TextView android:id="@+id/grp_child" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textColor="@color/radio_colors" android:textStyle="normal" android:background="@color/grey" /> </LinearLayout> และรหัสที่ตั้งค่า imageView: @Override public View getChildView(final int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { //Answers if(answersGroup != null) answersGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public …
114 android  imageview 

2
มุมมองภาพ Android ไม่เคารพ maxWidth?
ดังนั้นฉันจึงมีมุมมองภาพที่ควรแสดงภาพโดยพลการรูปโปรไฟล์ที่ดาวน์โหลดจากอินเทอร์เน็ต ฉันต้องการให้ ImageView นี้ปรับขนาดภาพให้พอดีกับความสูงของคอนเทนเนอร์หลักและตั้งค่าความกว้างสูงสุด 60dip อย่างไรก็ตามหากรูปภาพมีอัตราส่วนที่ชาญฉลาดและไม่จำเป็นต้องมีความกว้างเต็ม 60dip ความกว้างของ ImageView ควรลดลงเพื่อให้พื้นหลังของมุมมองพอดีกับภาพ ฉันลองแล้ว <ImageView android:id="@+id/menu_profile_picture" android:layout_width="wrap_content" android:maxWidth="60dip" android:layout_height="fill_parent" android:layout_marginLeft="2dip" android:padding="4dip" android:scaleType="centerInside" android:background="@drawable/menubar_button" android:layout_centerVertical="true"/> แต่นั่นทำให้ ImageView มีขนาดใหญ่มากด้วยเหตุผลบางประการอาจใช้ความกว้างภายในของรูปภาพและ wrap_content เพื่อตั้งค่า - อย่างไรก็ตามมันไม่ได้เป็นไปตามแอตทริบิวต์ maxWidth ของฉัน .. มันใช้ได้เฉพาะในคอนเทนเนอร์บางประเภทหรือไม่ มันอยู่ใน LinearLayout ... ข้อเสนอแนะใด ๆ ?

10
android: สร้างภาพวงกลมด้วย picasso
คำถามถูกถามและมีสัญญาสำหรับ Picasso เวอร์ชันที่ฉันใช้อยู่: ฉันจะส่งบิตแมปแบบวงกลมไปยัง ImageView โดยใช้ Picasso ได้อย่างไร ฉันยังใหม่กับ Picasso และสิ่งเดียวที่ฉันใช้คือ Picasso.with(context).load(url).resize(w, h).into(imageview); ฉันพบhttps://gist.github.com/julianshen/5829333แล้วแต่ฉันไม่แน่ใจว่าจะรวมเข้ากับบรรทัดด้านบนได้อย่างไร

14
Android: สร้างสีแบบสุ่มเมื่อคลิก?
ฉันมีImageViewซึ่งฉันกำลังสร้างสิ่งที่วาดได้โดยใช้โปรแกรมและนำเสนอให้กับผู้ใช้ เป้าหมายของฉันคือคลิกที่พูดImageViewและเปลี่ยนสีของที่วาดได้ ฉันจะไปเกี่ยวกับบิตเปลี่ยนสีแบบสุ่มได้อย่างไร ฉันกำลังซ่อมRandom(), Color.argb()และบางสิ่งอื่น ๆ แต่ฉันไม่สามารถดูเหมือนจะได้รับมันในการทำงาน!

11
Custom ImageView พร้อมเงาตก
โอเคฉันอ่านและค้นหาไปรอบ ๆ และตอนนี้ฉันกำลังเอาหัวพิงกำแพงพยายามคิดออก นี่คือสิ่งที่ฉันมีจนถึงตอนนี้: package com.pockdroid.sandbox; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Rect; import android.widget.ImageView; public class ShadowImageView extends ImageView { private Rect mRect; private Paint mPaint; public ShadowImageView(Context context) { super(context); mRect = new Rect(); mPaint = new Paint(); mPaint.setAntiAlias(true); mPaint.setShadowLayer(2f, 1f, 1f, Color.BLACK); } @Override …

9
Android - บันทึกภาพลงในแกลเลอรี่
ฉันมีแอพที่มีแกลเลอรีรูปภาพและฉันต้องการให้ผู้ใช้บันทึกลงในแกลเลอรีของเขาเอง ฉันได้สร้างเมนูตัวเลือกด้วยเสียงเดียว "บันทึก" เพื่ออนุญาต แต่ปัญหาคือ ... ฉันจะบันทึกภาพลงในแกลเลอรีได้อย่างไร นี่คือรหัสของฉัน: @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle item selection switch (item.getItemId()) { case R.id.menuFinale: imgView.setDrawingCacheEnabled(true); Bitmap bitmap = imgView.getDrawingCache(); File root = Environment.getExternalStorageDirectory(); File file = new File(root.getAbsolutePath()+"/DCIM/Camera/img.jpg"); try { file.createNewFile(); FileOutputStream ostream = new FileOutputStream(file); bitmap.compress(CompressFormat.JPEG, 100, ostream); ostream.close(); } …

12
ตั้งค่าการแสดงแถบความคืบหน้าเมื่อเสร็จสิ้นการโหลดภาพโดยใช้ไลบรารี Glide
สวัสดีฉันต้องการมีแถบความคืบหน้าสำหรับรูปภาพซึ่งจะแสดงในขณะที่โหลดรูปภาพ แต่เมื่อการโหลดรูปภาพเสร็จสมบูรณ์ฉันต้องการตั้งค่าให้หายไป ก่อนหน้านี้ฉันใช้ห้องสมุด Picasso สำหรับสิ่งนี้ แต่ฉันไม่รู้ว่าจะใช้กับคลัง Glide ได้อย่างไร ฉันมีความคิดว่ามีฟังก์ชั่นพร้อมทรัพยากรอยู่ที่นั่น แต่ฉันไม่รู้วิธีใช้ ใครสามารถช่วยฉัน? รหัสสำหรับห้องสมุด Picasso Picasso.with(mcontext).load(imgLinkArray.get(position).mUrlLink) .into(imageView, new Callback() { @Override public void onSuccess() { progressBar.setVisibility(View.GONE); } @Override public void onError() { } }) ; ตอนนี้ฉันจะทำสิ่งนี้ด้วย Glide ได้อย่างไร? Glide.with(mcontext).load(imgLinkArray.get(position).mUrlLink) .into(imageView); ฉันสามารถโหลดรูปภาพได้ด้วย Glide แต่ฉันจะเขียนprogressBar.setVisibility(View.GONE);โค้ดที่ไหนสักแห่งได้อย่างไรหากรูปภาพถูกโหลด

10
Android เลือนลางและเลือนหายไปด้วย ImageView
ฉันมีปัญหากับสไลด์โชว์ที่กำลังสร้าง ฉันได้สร้างแอนิเมชั่น 2 ภาพใน xml สำหรับการเลือนเข้าและเลือนหาย: fadein.xml <?xml version="1.0" encoding="UTF-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:interpolator="@android:anim/accelerate_interpolator" android:duration="2000"/> </set> fadeout.xml <?xml version="1.0" encoding="UTF-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:interpolator="@android:anim/accelerate_interpolator" android:duration="2000"/> </set> สิ่งที่ไม่ควรทำคือการเปลี่ยนภาพจาก ImageView โดยใช้เอฟเฟกต์การจางดังนั้นภาพที่แสดงในปัจจุบันจะเลือนหายไปและอีกภาพหนึ่งจะเลือนหายไปเมื่อพิจารณาว่าฉันมีภาพที่ตั้งค่าไว้แล้วฉันสามารถลบภาพนี้ได้โดยไม่ต้อง ปัญหาเกี่ยวกับสิ่งนี้: Animation fadeInAnimation = AnimationUtils.loadAnimation(this, R.anim.your_fade_in_anim); imageView.startAnimation(fadeoutAnim); แต่จากนั้นฉันตั้งค่าภาพถัดไปที่จะแสดง: imageView.setImageBitmap(secondImage); มันเพิ่งปรากฏใน imageView และเมื่อฉันตั้งค่าภาพเคลื่อนไหวมันจะซ่อนภาพมันก็จะจางลง ... มีวิธีใดในการแก้ไขฉันหมายถึงเมื่อฉันทำimageView.setImageBitmap (secondImage) คำสั่งภาพจะไม่ปรากฏขึ้นทันทีและเมื่อดำเนินการเฟดในภาพเคลื่อนไหวเท่านั้น?

11
ImageView ปรับขนาด TOP_CROP
ฉันมีImageViewซึ่งกำลังแสดง png ที่มีอัตราส่วนกว้างยาวกว่าของอุปกรณ์ (พูดในแนวตั้ง - หมายถึงยาวกว่า) ฉันต้องการแสดงสิ่งนี้ในขณะที่รักษาอัตราส่วนภาพให้ตรงกับความกว้างของพาเรนต์และตรึงมุมมองภาพไว้ที่ด้านบนสุดของหน้าจอ ปัญหาที่ฉันพบในการใช้CENTER_CROPเป็นประเภทมาตราส่วนคือจะ (เข้าใจได้) จัดกึ่งกลางภาพที่ปรับขนาดแทนที่จะจัดขอบด้านบนให้ชิดขอบด้านบน f มุมมองภาพ ปัญหาFIT_STARTคือภาพจะพอดีกับความสูงของหน้าจอและไม่เต็มความกว้าง ฉันได้แก้ไขปัญหานี้โดยใช้ ImageView แบบกำหนดเองและการลบล้างonDraw(Canvas)และจัดการสิ่งนี้ด้วยตนเองโดยใช้ผืนผ้าใบ ปัญหาของวิธีนี้คือ 1) ฉันกังวลว่าอาจมีวิธีแก้ปัญหาที่ง่ายกว่านี้ 2) ฉันได้รับข้อยกเว้น VM mem เมื่อเรียกsuper(AttributeSet)ในตัวสร้างเมื่อพยายามตั้งค่า src img เป็น 330kb เมื่อฮีปมีพื้นที่ว่าง 3 mb (มีขนาดฮีป 6 mb) และไม่สามารถหาสาเหตุได้ ยินดีรับความคิดเห็น / ข้อเสนอแนะ / แนวทางแก้ไข :) ขอบคุณ ป.ล. ฉันคิดว่าวิธีแก้ปัญหาอาจต้องใช้ประเภทมาตราส่วนเมทริกซ์และทำด้วยตัวเอง แต่ดูเหมือนว่าจะเหมือนกันหรือได้ผลมากกว่าโซลูชันปัจจุบันของฉัน!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.