2014-11-03 3 views
0

У меня есть активность с 3 кнопками в правой части экрана в относительной компоновке, за исключением кнопок У меня очень «хрупкий» фрагмент со сканером штрих-кода (случается, когда он трогается программно), и пользовательский ListView.Изменение программных позиций только программно

Типичная кнопка выглядит следующим образом:

<Button 
    android:id="@+id/typical" 
    android:layout_height="wrap_content" 
    android:layout_alignParentEnd="true" 
    android:layout_alignParentRight="true" 
    android:onClick="typical" 
    android:text="@string/typical" /> 

В зависимости от предпочтения хиральности Я хочу, чтобы установить расположение кнопок родительского совместите с правой/конца влево/старт, не касаясь ничего другого. Как я могу это сделать?

Я пробовал:

Button typical = (Button) findViewById(R.id.typical); 
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 
    params.addRule(RelativeLayout.ALIGN_PARENT_START); 
    params.addRule(RelativeLayout.ALIGN_PARENT_LEFT); 
    typical.setLayoutParams(params); 

Но это сделало мои параметры изменения фрагмента штрих-кода и плакать :(

ответ

0

Две идеи:.

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

  2. Вместо того, чтобы играть с параметрами макета кнопки (беспорядок с параметрами макета внутри относительного макета может действительно повредить производительность), почему бы не сделать 2 кнопки - по одному с каждой стороны и всегда скрыть одну из них?

Надеюсь, это поможет.

+0

Идея со скрытыми кнопками - это здорово! Большое спасибо :) –

+0

не беспокоится. если он сработает для вас, не стесняйтесь принять ответ. –

Смежные вопросы