以编程方式减小 ImageView 的大小(使用 java 代码)

发布于 2024-12-09 14:30:13 字数 507 浏览 0 评论 0原文

如何将imageview的尺寸缩小到200x200?

这是我的实际代码:

 private ImageView splash;

    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        FrameLayout fl = new FrameLayout(this.getApplicationContext());
        splash = new ImageView(getApplicationContext());
        splash.setImageResource(R.drawable.logo);
        fl.addView(splash);
        fl.setForegroundGravity(Gravity.CENTER);
        fl.setBackgroundColor(Color.BLACK);
        setContentView(fl);

How to reduce the size of the imageview to 200x200 ?

This is my actual code:

 private ImageView splash;

    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        FrameLayout fl = new FrameLayout(this.getApplicationContext());
        splash = new ImageView(getApplicationContext());
        splash.setImageResource(R.drawable.logo);
        fl.addView(splash);
        fl.setForegroundGravity(Gravity.CENTER);
        fl.setBackgroundColor(Color.BLACK);
        setContentView(fl);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

瀟灑尐姊 2024-12-16 14:30:13

试试这个:

  ImageView image=(ImageView)findViewById(R.id.Image1);
  Bitmap bm=BitmapFactory.decodeResource(getResources(), R.drawable.sc01);
  int width=200;
  int height=200;
  Bitmap resizedbitmap=Bitmap.createScaledBitmap(bm, width, height, true);

  image.setImageBitmap(resizedbitmap);

Just Try This:

  ImageView image=(ImageView)findViewById(R.id.Image1);
  Bitmap bm=BitmapFactory.decodeResource(getResources(), R.drawable.sc01);
  int width=200;
  int height=200;
  Bitmap resizedbitmap=Bitmap.createScaledBitmap(bm, width, height, true);

  image.setImageBitmap(resizedbitmap);
百变从容 2024-12-16 14:30:13

在将视图添加到框架布局之前使用此代码

splash.setLayoutParams(new FrameLayout.LayoutParams(200,200));

use this code before you add view to framelayout

splash.setLayoutParams(new FrameLayout.LayoutParams(200,200));
太傻旳人生 2024-12-16 14:30:13

如果你的意思是 200 下跌,以下应该有效。

int dips = TypedValue.applyDimension(
    TypedValue.COMPLEX_UNIT_DIP, 
    200 , 
    context.getResources().getDisplayMetrics());

splash.setLayoutParams(new FrameLayout.LayoutParams(dips,dips));

如果您想获得 sp (缩放像素),请使用 TypedValue.COMPLEX_UNIT_SP 而不是 COMPLEX_UNIT_DIP,如果您只想要 200 个纯像素,请使用

splash.setLayoutParams(new FrameLayout.LayoutParams(200, 200));

TypedValue.COMPLEX_UNIT_SP。

If you mean 200 dip, the following should work.

int dips = TypedValue.applyDimension(
    TypedValue.COMPLEX_UNIT_DIP, 
    200 , 
    context.getResources().getDisplayMetrics());

splash.setLayoutParams(new FrameLayout.LayoutParams(dips,dips));

if you want to get sp ( scaled pixels ) instead use TypedValue.COMPLEX_UNIT_SP instead of COMPLEX_UNIT_DIP, and if you want just 200 plain pixels, use

splash.setLayoutParams(new FrameLayout.LayoutParams(200, 200));

instead.

酒解孤独 2024-12-16 14:30:13

你可以像这样设置图像视图大小

imageview.setLayoutParams(new FrameLayout.LayoutParams(200,200));
imageview.setScaleType(ScaleType.FIT_XY);
imageview.setImageResource(R.drawable.logo);

you can set imageview size like this

imageview.setLayoutParams(new FrameLayout.LayoutParams(200,200));
imageview.setScaleType(ScaleType.FIT_XY);
imageview.setImageResource(R.drawable.logo);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文