Большая проблема с установкой кнопки в ландшафтном режиме - PullRequest
0 голосов
/ 04 августа 2011

У меня есть действие, настроенное в landscape mode, и оно должно оставаться таким ((! Так как в ответ на мой вопрос не говорите мне задавать свою активность в PORTRAIT mode, потому что это не решение).

И я хочу поместить кнопку в нижней части экрана, как это:

http://i52.tinypic.com/30n9o5t.png

, но я просто могу это сделать. Все мои попытки мне далитолько это:

http://i53.tinypic.com/54acjs.png

Вот мой xml файл:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    >
<SurfaceView  
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
   android:id="@+id/surface_camera"
    />
<Button android:id="@+id/btnPhoto" 
android:layout_gravity="right" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="Take Photo !!"></Button>
</FrameLayout>

Не забывайте, что моя активность в режиме LANDSCAPE.Спасибо!

Ответы [ 2 ]

2 голосов
/ 27 сентября 2011

Использование кнопки «Изображение».

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    >
<SurfaceView  
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
   android:id="@+id/surface_camera"
    />
<ImageButton android:id="@+id/btnPhoto" 
    android:layout_gravity="right" 
    android:layout_width="your_button_width" 
    android:layout_height="your_button_height" 
    android:background="@drawable/your_button_here">
</ImageButton>
</FrameLayout>
1 голос
/ 04 августа 2011

Трюк сделан с использованием layout_weight, который говорит макету использовать все доступное свободное место.Таким образом, вы создаете две компоновки: вторая с фиксированной высотой и указание первой использовать все свободное пространство.Это решение будет работать как в альбомном, так и в портретном режимах.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical">
    <LinearLayout android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:orientation="vertical"
    android:layout_weight="1.0">
    </LinearLayout>
    <LinearLayout android:layout_width="fill_parent"
    android:layout_height="40dp">
    <!-- place your buttons in this layout -->
    </LinearLayout>
</LinearLayout>

ОБНОВЛЕНИЕ

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal">
    <LinearLayout android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:orientation="vertical"
    android:layout_weight="1.0">
    </LinearLayout>
    <LinearLayout android:layout_width="40dp"
    android:layout_height="fill_parent"></LinearLayout>
</LinearLayout>
...