Положите Acitvity, примененный с диалогом темы в определенной позиции x, y - PullRequest
2 голосов
/ 20 сентября 2011

Я хотел бы разместить диалоговое окно в определенной позиции на экране (-10px сверху и -5px от let).

Я применил тему и добавил android:scrollX, android: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_x и android:layout_y, но без толку!

Это то, что у меня есть! [введите описание изображения здесь] [1]

но что я действительно хочу, это чтонаходится чуть ниже логотипа регистрации, расположенного под определенным положительным знаком x и y !!!!! [введите описание изображения здесь] [2]

Ответы [ 2 ]

4 голосов
/ 04 октября 2011

Это код!

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);
1 голос
/ 10 октября 2011

Не расширять тему диалога. Расширять тему панели.

<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>

Это создает окно, похожее на диалоговое окно, за исключением того, что оно не центрируется, как диалоговое окно.Затем создайте мероприятие, как обычно, затем запустите его.

Чтобы сделать его 5px слева и 10px сверху, просто добавьте отступы к вашему макету

 <!-- 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);
      }
    }
...