私は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);
私は間違っていますか?
iはルールが必要 'RelativeLayout.CENTER_HORIZONTAL' – Arkde
でルールを削除するようにしてください、私はそれを削除することはできません、私は私のアプリのセクションの多くのために、このコードを使用していますので、私はそれを必要と彼らが必要とします背景画像を水平に中央に配置するには – NullPointerException
私はそれを削除しようとしましたが動作しませんでした – NullPointerException