2010-08-25 2 views
2

Я искал, но не могу найти способ сделать это. Я хочу, чтобы функция переделала Views в LinearLayout, не указав конкретные местоположения пикселей во время выполнения. для моего доказательства концепции у меня есть макет с 2 TextViews, один красный и один черный. Слева находится красный TextView . Я хочу, чтобы onClick установил его справа, без корректировки полей, как если бы я переписал XML макета, с красным цветом TextView. Есть ли способ сделать это? Я не могу представить .Хотите изменить макет LinearLayout во время выполнения

ответ

0

Возможно, я ошибаюсь, но как насчет этого: TextView и многие другие имеют функцию setLayoutParams и могут принимать объект LayoutParams.

Посмотрите на макет PARAMS http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html#LinearLayout.LayoutParams%28android.content.Context,%20android.util.AttributeSet%29

Один из конструкторов для LayoutParams могут принимать в контексте и AttributeSet. Далее, набор атрибутов находится здесь http://developer.android.com/reference/android/util/AttributeSet.html

Если вы посмотрите на образец кода, то они проанализируют XML-файл, чтобы получить набор атрибутов. возможно, вы могли бы сделать то же самое?

+0

Спасибо за сообщение. Я могу в конечном итоге использовать этот набор XML как метод для достижения моей конечной цели. Я смог получить мое доказательство концепции для работы, привязав 2 TextViews к vairables, а затем сделав removeAllViews() на моем линейном макете, а затем сделав addView (View v) на черном тексте, затем красным текстом. Я пытаюсь получить (очень) простое перетаскивание, где каждое действие перетаскивания совершает изменение базы данных и обновляет экран из базы данных. – Tyler

+0

Посмотрите этот парень: http://www.mail-archive.com/[email protected]/msg44637.html Он написал свое собственное мнение. Вы можете создать что-то вроде public class MovingTextView extends TextView {} и создать несколько способов перемещения. – Realn0whereman

Смежные вопросы