SORU
7 HAZİRAN 2010, PAZARTESİ


Ekrana bir görüntü germek için Nasıl genişlik en boy oranını korurken?Android:

İstiyorum indirmek için bir görüntü (bilinmeyen boyut, ama hep kabaca kare) ve görünen o ki doldurur ekranı yatay ve dikey olarak uzanır korumak için en boy oranı görüntü, herhangi bir ekran boyutu. Burada (çalışmayan) benim kod. Ezilmiş bu yüzden görüntüyü yatay olarak, dikey olarak değil ama lastik gibi,...

ImageView mainImageView = new ImageView(context);
    mainImageView.setImageBitmap(mainImage); //downloaded from server
    mainImageView.setScaleType(ScaleType.FIT_XY);
    //mainImageView.setAdjustViewBounds(true); 
    //with this line enabled, just scales image down
    addView(mainImageView,new LinearLayout.LayoutParams( 
            LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));

CEVAP
8 HAZİRAN 2010, Salı


Özel bir görünüm ile bunu başardım. =Layout_width Set"" ve=layout_height"" ve işaret uygun drawable için: . wrap_content fill_parent

public class Banner extends View {

  private final Drawable logo;

  public Banner(Context context) {
    super(context);
    logo = context.getResources().getDrawable(R.drawable.banner);
    setBackgroundDrawable(logo);
  }

  public Banner(Context context, AttributeSet attrs) {
    super(context, attrs);
    logo = context.getResources().getDrawable(R.drawable.banner);
    setBackgroundDrawable(logo);
  }

  public Banner(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    logo = context.getResources().getDrawable(R.drawable.banner);
    setBackgroundDrawable(logo);
  }

  @Override protected void onMeasure(int widthMeasureSpec,
      int heightMeasureSpec) {
    int width = MeasureSpec.getSize(widthMeasureSpec);
    int height = width * logo.getIntrinsicHeight() / logo.getIntrinsicWidth();
    setMeasuredDimension(width, height);
  }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • filmurfreakur

    filmurfreaku

    29 Mart 2007
  • Hak5

    Hak5

    7 EYLÜL 2005
  • Tome Rodrigo

    Tome Rodrigo

    9 Temmuz 2006