Макет Android, как разместить два изображения и панель поиска - PullRequest
1 голос
/ 02 апреля 2012

Чего я хочу достичь

Я пытаюсь сделать макет равным следующей ссылке: http://www.flickr.com/photos/59647462@N08/7038207573/

Что у меня есть

  <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:contentDescription="@string/minVolume"
        android:src="@drawable/ic_volume_min" />

    <SeekBar
        android:id="@+id/seekBar1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:contentDescription="@string/maxVolume"
        android:src="@drawable/ic_volume_max" />
</LinearLayout>

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

  • Я бы хотел, чтобы он масштабировался соответствующим образом на разных экранах
  • Если это возможно без использования весового атрибута, мне бы понравилось это решение

ценится любой совет

Ответы [ 4 ]

3 голосов
/ 02 апреля 2012

Используйте android:layout_weight="0.9" в SeekBar. или

Без использования layout_weight

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
    <ImageView
        android:id="@+id/left"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:contentDescription="@string/minVolume"
        android:src="@drawable/ic_volume_min" />    
    <ImageView
        android:id="@+id/right"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:contentDescription="@string/maxVolume"
        android:src="@drawable/ic_volume_max"
        android:layout_alignParentRight="true" />    
    <SeekBar
        android:id="@+id/seekBar1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/left"
        android:layout_centerVertical="true"
        android:layout_toLeftOf="@+id/right" />    
</RelativeLayout>
1 голос
/ 02 апреля 2012

создайте относительный макет и сделайте левое изображение привязанным к левой стороне (ALIGN_PARENT_LEFT), правое изображение привязанным к правой стороне (ALIGN_PARENT_RIGHT) и панель поиска между ними с помощью android: layout_toRightOf и android: layout_toLeftOf.

Для получения дополнительной информации см. Документы: http://developer.android.com/reference/android/widget/RelativeLayout.html

0 голосов
/ 02 апреля 2012

Используйте windowManager, чтобы получить размер, а затем настроить его с помощью таких операторов, как '/' и т. Д.,

Display display = getWindowManager().getDefaultDisplay();
int height = display.getHeight();
int width = display.getWidth();

Хотя я считаю, что вступил в силу новый API.

0 голосов
/ 02 апреля 2012

Если вы установите layout_width равным 0 для всех трех виджетов и весом 1 для панели поиска, которая должна работать. Я не знаю, как это сделать без веса (и почему?)

...