Как установить местоположение EditText в коде Java - PullRequest
0 голосов
/ 05 июля 2011

Как установить местоположение или границы EditText? Я хочу сделать это через мой код Java, а не в файле XML (макет). Есть ли способ установить местоположение? Я, как правило, профессионал в GUI, но раньше такого не было, поэтому любые решения приветствуются.

1 Ответ

1 голос
/ 05 июля 2011

Вы не можете явно установить положение представления в Android, например setViewPos (x, y).

Знаете ли вы, как работает система макетов / представлений Android?Если вы можете достичь того, что вы пытаетесь сделать в XML, просто посмотрите на http://developer.android.com/reference/android/view/View.html и посмотрите, какой метод установки соответствует используемым вами атрибутам XML.

Если ваше представление уже существует в XML и вы хотите что-то с ним делать во время выполнения, вам нужно сослаться на него.В обычном случае вы находитесь в своей деятельности и изменяете представление, которое находится в вашем текущем макете:

EditText yourView = (EditText)this.findViewById(R.id.your_view);    
//set attributes 
//you'll crash if you haven't this.setContentView(view's parent layout)

В противном случае:

LayoutInflater inflater = context.getLayoutInflater();
View tmp = inflater.inflate(R.layout.your_layout, null , true);
EditText yourView = (EditText)tmp.findViewById(R.id.your_view);
//set attrinutes

или если вы создаетеваше представление с нуля, просто сделайте его экземпляр и добавьте его в свой макет:

EditText et= new EditTExt();
//set attributes
LinearLayout parent = (LinearLayout) this.findViewById(R.id.layout_id);
parent.addView(et)

Но если вы не знаете, как разместить его и в XML, вам придется совершить путешествие внизПеречень учебных пособий, чтобы найти технику, подходящую для вашей ситуации.

AbsoluteLayout будет быстрым решением, но я бы не советовал этого делать, потому что вы получите некоторые неприятные результаты, когда попробуете свое приложение на телефонах с экранами разных размеров ирезолюции.

Гравитация и вес не так сильны, но они не сильно связаны с размером экрана.

Если вы пытаетесь разместить свое представление на основе окружающих его видов, тогда определенно используйтеRelativeLayout.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...