Как надуть вид на мой макет? - PullRequest
0 голосов
/ 21 февраля 2012

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

MyView view1 = new MyView (this);

LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
 view1= (MyView) inflater.inflate(R.layout.main, null);

Пожалуйста, помогите .. Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 21 февраля 2012

Для того, что вы делаете, используйте

setContentView(R.layout.main);

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

1 голос
/ 21 февраля 2012

это обычно работает ...

LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
 View view1= inflater.inflate(R.layout.main, null);

или

 LayoutInflater inflater = LayoutInflater.from(getApplicationContext);
View view1= inflater.inflate(R.layout.main, null);

, а затем добавьте это представление в contentView.

Обновлено:

Предполагая, что вам нужно нарисовать линию в вашем main.xml, позвольте мне предложить вам это предложение.вместо рисования линии во время выполнения путем расширения класса View, создайте View в xml следующим образом

<View android:layout_width = "fill_parent"
      android:layout_height = "2dp"  //assuming you want line of 2dp thickness
      android:background= "@android:color/black"/> // define your desired color here 

надеюсь, это поможет ..

0 голосов
/ 22 февраля 2012

Это сработало окончательно.

getWindow().addContentView(view1,
                new ViewGroup.LayoutParams(
                         ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT));
...