我需要将烤面包相对于特定视图对齐,现在就相对于设备尺寸而言

时间:2019-07-10 18:16:40

标签: android android-toast

enter image description here我在屏幕的中央有一个吐司,我需要将其与子视图的中心对齐。当前,它将屏幕视图作为父视图保存,我需要将子视图分配为父视图以动态更改其位置

View v = LayoutInflater.from(toastContext).inflate(R.layout.toast, null);
TextView tv = (TextView) v.findViewById(R.id.message);
tv.setText(text);

mToast.setView(v);
mToast.setDuration(duration);
mToast.setGravity(Gravity.CENTER,0, 0);

mToast.show();

2 个答案:

答案 0 :(得分:0)

这应该使它位于文本视图的中心。您可以将tv替换为您想将其居中的任何视图:

int x = tv.getLeft() + tv.getWidth()/2;
int y = tv.getTop() + tv.getHeight()/2; 
mToast.setGravity(Gravity.TOP|Gravity.LEFT, x, y);

请注意,如果子视图已经位于屏幕中心,则可以使用中心重力,只需调整顶部的y偏移即可:mToast.setGravity(Gravity.TOP|Gravity.CENTER, 0, tv.getTop());

答案 1 :(得分:0)

g.V().hasLabel(without('ITEM')).sample(2).aggregate('v1').
  repeat(__.as('V1').bothE().dedup().as('E').otherV().as('V2').
      aggregate('x').by(select('V1', 'E', 'V2'))).
    until(out().count().is(0)).
  as('V1').bothE().dedup().as('E').otherV().as('V2').
  aggregate('x').
    by(select('V1', 'E', 'V2')).
  cap('v1','x','v1').
  coalesce(select('x').unfold(),select('v1').unfold().project('V1')).limit(5)

这对我有用