2012-02-21 2 views
0

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

MyView view1 = новый MyView (this);

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

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

+0

Почему этот актер для "(MyView)" ..? – ngesh

ответ

2

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

setContentView(R.layout.main); 

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

+0

ur rite, bt Я добавил свое мнение в текущем виде, пока не получаю. На самом деле, у меня один класс расширяет View, где я рисую строки на моем представлении. в макете действий xml я добавил фоновое изображениеViews и butons.which не видны. Но я умею прекрасно рисовать линии. У меня есть моя проблема .. – Hema

1

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

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, создавать представления в 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

@ntc .. Myview - мой класс. – Hema

+0

Myview расширяет класс. где я могу рисовать линию. И я установил представление в contentview, но он не работает – Hema

+0

@Hema .. почему вы даже хотите это сделать .. создайте строку в xml, а затем установите ее как просмотр контента ... не так сложно, как вы делаете .. – ngesh

0

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

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