如何更改新活动的位置(显示指标)

时间:2017-08-14 14:34:03

标签: android

EDIT: The application's interface

我创建了一个弹出窗口和类,当我在谷歌地图中点击这个onInfoWindowClick时,会出现一个弹出窗口下一个活动将会出现。我使用了Display Metrics,但它只显示在中心屏幕上。

我想要发生的事情是:当活动出现时,我希望它显示在上方,或者至少有能力在窗口的任何部分更改活动的位置。

我的问题:显示指标仅在中心显示活动。

我弹出窗口中的代码:

public class PopUp extends AppCompatActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.pop_layout);

        DisplayMetrics dm = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(dm);

        int width = dm.widthPixels;
        int height = dm.heightPixels;

        getWindow().setLayout((int)(width*.8),(int)(height*.5));

    }
}

注意:还有另一种方法吗?你能告诉我如何做到这一点的链接。 (只有在有另一种方法时才这样做)

1 个答案:

答案 0 :(得分:2)

只需在最后添加此行:

getWindow().setGravity(Gravity.TOP);

P.S。您可以根据需要使用其他值(不仅仅是Gravity.TOP)。您还可以组合多个选项,例如getWindow().setGravity(Gravity.TOP|Gravity.START);