2015-04-15 3 views
-1

У меня есть дизайн Android Relative Layout в моем проекте Android Studio. У меня две горизонтальные кнопки в этом представлении. Я столкнулся с двумя проблемами.Android Относительная макета проблемы с позиционированием Кнопка

  1. Я не могу правильно перемещать кнопку отдельно. Если я перемещаю кнопку 1, кнопка 2 также перемещается. Как мы можем перемещать кнопку отдельно?
  2. Мое приложение поддерживается для телефона и вкладки. Но, если я перемещаю кнопки в некоторой позиции для вкладки, она не отображается правильно, когда я устанавливаю приложение на телефоне. Фоновые изображения и все работают отлично на обоих экранах. Как установить собственные позиции кнопок для работы как с экраном табуляции, так и с экраном телефона?

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MyActivity" 
    android:background="@drawable/bg"> 
    
    <Button 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:id="@+id/PlayPauseButton" 
        android:layout_marginBottom="103dp" 
        android:onClick="doClick" 
        android:layout_marginLeft="82dp" 
        android:layout_marginStart="82dp" 
        android:layout_alignParentBottom="true" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true" /> 
    
    <Button 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:id="@+id/StopButton" 
        android:onClick="stopAudio" 
        android:layout_marginLeft="43dp" 
        android:layout_marginStart="43dp" 
        android:layout_alignTop="@+id/PlayPauseButton" 
        android:layout_toRightOf="@+id/PlayPauseButton" 
        android:layout_toEndOf="@+id/PlayPauseButton" /> 
    

+0

Итак, где ваш код? BTW Вам нужно создать отдельный макет для разного размера экрана. –

+0

Показать свой XML-файл. Вы можете добиться этого, создав другую папку макета для планшетов, или вы можете использовать файл 'dimens.xml' в папке' values'. – Piyush

+0

Вы также должны загрузить свой XML, чтобы вам было легче получить ответ на вашу проблему. –

ответ

0

вы должны использовать LinearLayout и установить weightsum так будет всегда индивидуальный или в телефоне или планшете. смотри пример кода: -

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools"      
    android:layout_width="match_parent" 
    android:layout_height="match_parent"    
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:paddingBottom="@dimen/activity_vertical_margin"  
    tools:context=".MyActivity" 
    android:background="@drawable/bg" 
    android:weightSum="1"> 

    <Button 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:id="@+id/PlayPauseButton" 
    android:layout_marginBottom="103dp" 
    android:onClick="doClick" 
    android:layout_weight="0.50" 
    /> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:id="@+id/StopButton" 
     android:onClick="stopAudio" 
     android:layout_weight="0.50" 
    /> 
</LinearLayout> 
+0

Я думаю, это хорошо. Могу ли я переместить обе кнопки вниз и поместить ее по горизонтали? – Stella

+0

да, вы можете перемещать кнопки везде, где захотите, и поместить их в любые места. –

+0

Извините, я не могу плавно перемещать кнопки в режиме дизайна. Это была проблема, когда у меня был и относительный дизайн. Если я перемещаю левую боковую кнопку вправо, правая боковая кнопка также автоматически перемещается вправо, и наоборот. Перемещение вниз Мне нужно установить макет: gravity = bottom, иначе я не могу его переместить. – Stella

0

Вопрос 1: Вторая кнопка перемещается относительно первой кнопки, поскольку она совмещена с этой кнопки через

android:layout_alignTop="@+id/PlayPauseButton" 
android:layout_toRightOf="@+id/PlayPauseButton" 
android:layout_toEndOf="@+id/PlayPauseButton" 
Смежные вопросы