Графический макет отличается, когда это эмулятор - PullRequest
0 голосов
/ 31 октября 2011

Я вижу на своем графическом макете то, что я хочу, центральная кнопка сверху.В моем эмуляторе моя кнопка находится в верхнем левом углу.

Мой xml-файл:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/mairie01"
android:gravity="center_horizontal"
android:layout_gravity="center_horizontal" >
<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/decourvrir1" />
<Button
    android:id="@+id/button3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/schedule" />
<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/decouvrir2" />
</LinearLayout>

Более того: Когда я нажимаю на кнопку, невозможно использовать другой макет.Графическое расположение в порядке, но в моем эмуляторе нет фона для линейного размещения и кнопки.

Связанный XML-файл:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/mairie01">
<Button
    android:id="@+id/manger"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/eat" />"
<Button
    android:id="@+id/dormir"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
<Button
    android:id="@+id/autres"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
</LinearLayout>

Извините за плохой английский.

Ответы [ 2 ]

1 голос
/ 07 ноября 2011

Я исправил свою проблему с помощью простой очистки моего проекта.

0 голосов
/ 31 октября 2011

Вы уверены, что вы устанавливаете правильное содержимое макета в своем Java-коде?

public class YourActivity extends Activity{

@Override
public void onCreate(Bundle savedInstanceState){


super.onCreate(savedInstanceState);
setContentView(R.layout.main);   // are you using your main.xml ?

// or programmatically created layout like the following:
//
// LinearLayout m_layout = new LinearLayout(this);
// for(int i=0; i<3; ++i){
// Button m_btn = new Button(this);
// m_layout.addView(m_btn);
// }
// 
// setContentView(this.m_layout);
//
// ...

}

// ...
// Your Activity Logic ...
// ...

}

, если вы не установили ориентацию макета, ориентация по умолчанию для LinearLayout - HORIZONTAL.Вы можете установить его программно или отредактировав файл main.xml следующим образом:

// ...
this.m_layout.setOrientation(LinearLayout.VERTICAL);
// ...

или

<LinearLayout android:id = "@+id/m_layout" android:orientation = "vertical" ...  />
...