так ну собственно вы ведите, что при одной ориентации экрана у меня одно расположение логина и пароля, при другой другое.
собственно создаем разметку слоя на котором будет содержаться поля логина и пароля
Код: Выделить всё
MenyToedit = new LinearLayout(this);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
{
MenyToedit.setOrientation(MenyToedit.VERTICAL);
}
else
{
MenyToedit.setOrientation(MenyToedit.HORIZONTAL);
}
MenyToedit.setGravity(Gravity.CENTER);
Код: Выделить всё
LinearLayout.LayoutParams ToStepP = new LinearLayout.LayoutParams(wrapMath, wrapMath, 0.1f);
ToStepP.setMargins(dptopx(10), 0, dptopx(10), 0);
LinearLayout ToStep = new LinearLayout(this);
ToStep.setLayoutParams(ToStepP);
ToStep.setOrientation(ToStep.VERTICAL);
LinearLayout.LayoutParams lf1Params = new LinearLayout.LayoutParams(wrapMath, wrapContent);
TextView txt = new TextView(this);
txt.setGravity(Gravity.LEFT);
txt.setText("Логин");
txt.setTextColor(Color.WHITE);
txt.setGravity(Gravity.BOTTOM);
txt.setTextSize(20);
ToStep.addView(txt,lf1Params);
tx1 = new EditText(this);
tx1.setGravity(Gravity.CENTER);
tx1.setSingleLine();
tx1.setEllipsize(TruncateAt.END);
tx1.setTextSize(20);
ToStep.addView(tx1, lf1Params);
MenyToedit.addView(ToStep);
txt = new TextView(this);
txt.setGravity(Gravity.LEFT);
txt.setText("Пароль");
txt.setTextColor(Color.WHITE);
txt.setGravity(Gravity.BOTTOM);
txt.setTextSize(20);
ToStep.addView(txt,lf1Params);
tx1 = new EditText(this);
tx1.setGravity(Gravity.CENTER);
tx1.setSingleLine();
tx1.setEllipsize(TruncateAt.END);
tx1.setTextSize(20);
tx1.setInputType(android.text.InputType.TYPE_CLASS_TEXT | android.text.InputType.TYPE_TEXT_VARIATION_PASSWORD);
ToStep.addView(tx1, lf1Params);
MenyToedit.addView(ToStep);
итак мы создали 2 таких слоя и закинули на них компоненты
но это еще не все, нам нужен метод смены ориентации видь нам же надо в зависимости от ориентации экрана менять расположение, а так только при создании мы получим нужное нам расположение
Код: Выделить всё
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
{
MenyToedit.setOrientation(MenyToedit.HORIZONTAL);
}
else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT)
{
MenyToedit.setOrientation(MenyToedit.VERTICAL);
}
}