0

これが私のシナリオです。

解像度 320*480 で作成された画像があります (mdpi モバイルを使用していると仮定します)。この画像を背景として相対レイアウトに追加しています。

今私の画面には3つの主要なものがあります。

1- Title bar (The standard title bar of android)
2- My relative layout and its sub view image relative layout which is matched parent.
3- My menu bar at the bottom.

メニューバーとタイトルバーの間で画像が引き伸ばされているためです。画面に合わせたい。以下は私が使用しているコードです。

    mainLayout.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

            public void onGlobalLayout() 
        {
           if (notCreated == true)
           {
               notCreated = false;
           }
           else
           {
               mnHeight = mainLayout.getHeight();
               Rect rect = getRawCoordinatesRect(mainLayout);
               h = getWindowManager().getDefaultDisplay().getHeight() -  
                       - rect.top - mainLayout.getHeight();
// rect.top to remove android standard title bar

               RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(image.getWidth(),LayoutParams.MATCH_PARENT);
               params.topMargin = -1 * rect.top;
               params.bottomMargin = -1 * h;
               image.setLayoutParams(params);

       }
    }


});

現在、これは機能していません。少し助けていただければ幸いです。

注: 実際には、画像の相対レイアウトを 320*480 に拡張したいだけです。現在、タイトル バーとメニュー バーの間に挟まれています。たとえば、現在の寸法は 320*400 です

4

2 に答える 2

0

正直に言うと、あなたがここで何をしたいのか完全にはわかりません。しかし、画像を背景として機能させたいと仮定します..それが必要な場合は、メインレイアウトの android:background="@drawable/your_image" 属性を設定するだけでこれを行うことができますあなたのレイアウトファイル。

タイトルバーを削除したい場合は、アクティビティ クラスの onCreate メソッドに次の行を追加するだけで簡単に実行できます。

//Remove title bar
this.requestWindowFeature(Window.FEATURE_NO_TITLE);

やりたいことが通知バーを削除する場合、これはアクティビティ クラスの onCreate メソッドでも行われます。

//Remove notification bar
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

これがお役に立てば幸いです :-) 探しているものではない場合は、ためらわずに、必要なものを再定式化してください。

于 2012-08-29T14:27:21.700 に答える
0

役に立つかどうかはわかりませんが、setScaleType()さまざまなオプションを試してみてください。

image.setScaleType(ScaleType.FIT_CENTER);

ScaleType クラスが持つすべての定数を次に示します。

于 2012-08-29T14:22:54.943 に答える