2012-05-06 3 views
1

저는 중국에서 새로운 신입 사원입니다. 화면 상단에서 안드로이드 대화 활동을 만들고 싶습니다.Set Android 대화 활동 위치

나는이 같은 스타일을 잘 살고있다 :

<resources> 
<style name="Theme.InputAddressDialog" parent="android:style/Theme.Dialog"> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:layout_width">fill_parent</item> 
    <item name="android:gravity">top</item> 
    <item name="android:layout_gravity">top</item> 
</style> 

대화 활동은 수직이 아닌 상단의 중앙에 나타납니다. 아무도 나 도와 줄 수 없어? 미리 감사드립니다!

+1

아무 것도 말할만큼 충분하지 않습니다. 크래시 공유 로그가 있다면 정확히 어떤 문제가 발생했는지 알려주십시오. 내 첫 번째 추측은 layout_height가 누락되었습니다. 그래서 충돌로 결과 –

+1

시도 http://stackoverflow.com/questions/7478417/positon-an-acitvity-applied-with-a-theme-dialog-at-a-particular-x-y-position? – Luksprog

+0

예! 그것은 작동! 대단히 감사합니다 !!! –

답변

4

이 문제는 다음과 같이 해결됩니다.

LayoutParams lp = this.getWindow().getAttributes(); 
    lp.gravity = Gravity.TOP | Gravity.LEFT; 
    lp.dimAmount = 0; 
    lp.flags = LayoutParams.FLAG_LAYOUT_NO_LIMITS 
      | LayoutParams.FLAG_NOT_TOUCH_MODAL; 

    LayoutInflater inflater = getLayoutInflater(); 
    LinearLayout ll = (LinearLayout) inflater.inflate(
      R.layout.input_address, null); 
    setContentView(ll, lp); 
+0

아주 좋은 해결책 –