2015-04-15 3 views
0

Прозрачная активность есть в моем приложении, и я хочу дать левую, правую, верхнюю границу этой деятельности. Для этого я использую WindowManager.LayoutParams. Но там я не могу дать Gravity сверху, справа, слева. Существует только два параметра x и y. Если я хочу установить левый, правый и верхний, то что мне нужно сделать.Прозрачная активность left right margin

Код: -

public class SelectedRecipient extends Activity { 
private Context context; 
private WindowManager.LayoutParams wmParams=null; 
private ListView listView; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 



    System.out.println("*** SelectedRecipient ***"); 

    context = SelectedRecipient.this; 

    WindowManager.LayoutParams wmParams = this.getWindow().getAttributes(); 

    wmParams.gravity = Gravity.TOP | Gravity.LEFT; 
    wmParams.x = 50; // x position 
    wmParams.y = 40; // y position 

    ArrayList<String> aListNoOfSelection = new ArrayList<String>(); 
    aListNoOfSelection.add("Vinit"); 
    aListNoOfSelection.add("Vikash"); 
    aListNoOfSelection.add("Jonson"); 
    aListNoOfSelection.add("Nikolesh"); 
    ArrayAdapter<String> aAdapterNoOfSelection = new NoOfSelectionAdapter(context, 0, aListNoOfSelection); 

    listView = new ListView(context); 

    listView.setAdapter(aAdapterNoOfSelection); 
    setContentView(listView); 
} 
} 

Я также попытался это (не wwork): -

LayoutParams layoutParams = new LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT); 
layoutParams.setMargins(50, 0, 50, 0); 
listView.setLayoutParams(layoutParams); 

enter image description here

+0

Может быть, вы хотите, чтобы показать активность с диалоговой темой. –

ответ

0

Вы, вероятно, хотите использовать диалоговую тему, как ответили выше, если так что ... положить android:theme="@android:style/Theme.Dialog" внутри вашего AndroidManifest.xml

или позвонив по телефону: setTheme(android.R.style.Theme_Dialog); перед вызовом setContentView(); в вашем onCreate()

если вы не можете использовать что-то вроде:

ViewGroup.MarginLayoutParams wmParams = new ViewGroup.MarginLayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); 
wmParams.setMargins((int left),(int top),(int right),(int bottom)); 

или wmParams.bottomMargin, wmParams.leftMargin, wmParams.rightMargin, wmParams.topMargin

+0

, когда я упоминаю андроид: theme = "@ android: style/Theme.Dialog" в манифесте, тогда он также отображает название и удаляется, когда я использую requestWindowFeature (Window.FEATURE_NO_TITLE); затем алимент полностью уничтожает. –

+0

Где вы разместили эту строку 'requestWindowFeature (Window.FEATURE_NO_TITLE);'? – Strider

+0

Он должен быть сразу после 'super.onCreate()' и перед 'setContentView();' – Strider