5

https://www.dropbox.com/s/lykyutdlo6386il/nexus%205%202.png?dl=0

この写真は nexus 5 でキャプチャしたものです。ご覧のとおり、画面の上下のギャップが異なります。サイド メニューを閉じると、Android ロゴが切り取られます。下画面の一部がネイティブ ナビゲーション バーの下に隠れています。

https://www.dropbox.com/s/wcwuat1bwoqa26v/correct1.png?dl=0

一方、こちらの写真はgalaxy s5 miniで撮影。画面の上と下のギャップが同じ量であることに気付くかもしれません。全く問題ありません。

これは、異なるデバイスと android OS (lollipop & kitkat) を持つ同じ ResideMenu ライブラリです。レイアウト (residemenu.xml) を調べて、問題を見つけました。しかし、私にはすべてが正しいようです。この問題の解決策が見つかりませんでした。メインフラグメントを正しくスケーリングするように修正する方法はありますか (上下から同じマージン)? 私を助けてください。

ライブラリへのリンク: github.com/SpecialCyCi/AndroidResideMenu

編集:

このリンクは、私がその解決策について話している問題です。

4

3 に答える 3

-1

これと同じ問題があり、ResideMenu ライブラリのメソッドを編集して解決しました。

ライブラリ内で、「ResideMenu.java」という名前の Java クラスにアクセスできます。

メソッドを次のように編集します。

 private void setScaleDirection(int direction){

    int screenWidth = getScreenWidth();
    float pivotX;
    float pivotY = getScreenHeight() * 0.5f;

    if (direction == DIRECTION_LEFT){
        scrollViewMenu = scrollViewLeftMenu;
        pivotX  = screenWidth * 2.2f;
    }else{
        scrollViewMenu = scrollViewRightMenu;
        pivotX  = screenWidth * -0.5f;
    }

    ViewHelper.setPivotX(viewActivity, pivotX);
    ViewHelper.setPivotY(viewActivity, pivotY);
    ViewHelper.setPivotX(imageViewShadow, pivotX);
    ViewHelper.setPivotY(imageViewShadow, pivotY);
    scaleDirection = direction;
}

ここで私はに変更を加えました

(screenWidth * 0.5f) ではなく、pivot x = (screenWidth * 2.2f)。

float 値を管理しようとすると、問題が解決します。

ありがとう、ハッピーコーディング

于 2015-06-27T11:01:15.017 に答える