将应用了主题对话框的活动定位在特定的 x、y 位置

发布于 2024-12-05 07:37:12 字数 801 浏览 2 评论 0原文

我想将对话框放置在屏幕上的特定位置(从顶部开始-10px,从let开始-5px)。

我确实应用了主题并添加了 android:scrollXandroid:scrollY,但它似乎不起作用。

有什么解决办法吗?

下面是我的样式 xml。

<style name="Theme.MyDialog1" parent="android:style/Theme.Dialog">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:layout_width">300dp</item>
    <item name="android:scrollX">-10dp</item>
    <item name="android:scrollY">-5dp</item>
</style>

编辑:

我也尝试过 android:layout_xandroid:layout_y,但没有用!

这是我拥有的 ![在此处输入图像描述][1]

但我真正想要的是位于特定 x 和 y 正方向的注册徽标下方!!!!![在此处输入图像描述][2]

I would like to place the dialog on a particular position on the screen(-10px from top and -5px from let).

I did apply the theme and added the android:scrollX, android:scrollY, but it doesn't seem to work.

Any solutuions?

Below is my styling xml.

<style name="Theme.MyDialog1" parent="android:style/Theme.Dialog">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:layout_width">300dp</item>
    <item name="android:scrollX">-10dp</item>
    <item name="android:scrollY">-5dp</item>
</style>

EDIT:

I have also tried android:layout_x and android:layout_y, but no use!

This is the one that I have
![enter image description here][1]

but what I really want is which is just below the signup logo positioned at a particular x and y positive!!!!![enter image description here][2]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

客…行舟 2024-12-12 07:37:12

这是代码!

LayoutParams lp = this.getWindow().getAttributes();
             lp.x=50;lp.y=20;lp.width=100;lp.height=200;lp.gravity=Gravity.TOP | Gravity.LEFT;
            lp.dimAmount=0;            
            lp.flags=LayoutParams.FLAG_LAYOUT_NO_LIMITS | LayoutParams.FLAG_NOT_TOUCH_MODAL;
this.setContentView(view, lp);

This is the code!

LayoutParams lp = this.getWindow().getAttributes();
             lp.x=50;lp.y=20;lp.width=100;lp.height=200;lp.gravity=Gravity.TOP | Gravity.LEFT;
            lp.dimAmount=0;            
            lp.flags=LayoutParams.FLAG_LAYOUT_NO_LIMITS | LayoutParams.FLAG_NOT_TOUCH_MODAL;
this.setContentView(view, lp);
夏至、离别 2024-12-12 07:37:12

不要扩展对话框主题而扩展面板主题。

<style name="Theme.CustomPanel" parent="@android:style/Theme.Panel">        
         <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
         <item name="android:backgroundDimEnabled">true</item>
    </style>

这将创建一个类似于对话框的窗口,只不过它不像对话框那样将其居中。然后像平常一样创建一个活动,然后启动它。

要使其距左侧 5 像素、距顶部 10 像素,只需在布局上放置填充

 <!-- res/layout/your_layout.xml -->
   <FrameLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:paddingTop="10px"
  android:paddingLeft="5px"></FrameLayout>

当然,您的活动应该是正常的,例如

public class NonCenteredDialogActivity extends Activity{
      protected void onCreate(Bundle bundle){
          super.onCreate(bundle);
          setContentView(R.layout.your_layout);
      }
    }

Don't extend the dialog theme extend the panel theme.

<style name="Theme.CustomPanel" parent="@android:style/Theme.Panel">        
         <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
         <item name="android:backgroundDimEnabled">true</item>
    </style>

This creates a window similar to a dialog except it doesn't center it like a dialog does. Then create an activity like you normally would then start it.

To make it 5px from left and 10px from top just put padding on your layout

 <!-- res/layout/your_layout.xml -->
   <FrameLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:paddingTop="10px"
  android:paddingLeft="5px"></FrameLayout>

And of course your activity should just be normal like

public class NonCenteredDialogActivity extends Activity{
      protected void onCreate(Bundle bundle){
          super.onCreate(bundle);
          setContentView(R.layout.your_layout);
      }
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文