私はビットマップを持っています。私は現在の電話機(320ピクセル)の画面の横幅に合わせて画面に表示する必要があります。ビットマップを画面の幅に合わせて表示するにはどうすればよいですか?
私はそれを試しているが、何かがうまくいかない。
問題は、ビットマップが必要な幅を得ていないことです。左と右に2つの空白が表示されています。それは画面の高さに合っているからですが、私はそれを望んでいません、私はビットマップが私が望む幅を持つように強制したいです。ビットマップの高さの一部が画面外にある場合は問題ありません。
レイアウトにイメージを追加するときに幅を強制する必要があります。つまり、イメージは縦横比を維持する必要がありますが、イメージは画面の高さより高くなければならず、イメージは画像の高さが画面の高さより高い場合は不完全であることが示されています。レイアウトが画像を尊重し、画面の高さに画像のすべての高さを表示するようにレイアウトが強制されているので、これは起こっていないので、問題はレイアウトルールにあると思う。
with:
View view;
Bitmap aux = Util.loadImage(filename); //image loaded but with his original width
Bitmap image = Util.scaleBitmap(aux, 320); //scaling to 320
((ImageView)view).setImageBitmap(resource.image);
RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(320 , h);
rlp.addRule(RelativeLayout.CENTER_HORIZONTAL);
rlp.addRule(RelativeLayout.ALIGN_PARENT_TOP);
layout.addView(view , rlp);
コードで何が間違っていますか?
Javaでプログラム的に行う方法は? – NullPointerException
それは多かれ少なかれ動作しますが、それは高さにぶら下がっており、私は高さをstrectchしたくない、私は幅を伸ばしたいだけではありませんか? – NullPointerException