Defina a lairgura do relativelayout 1/3 da lairgura da canvas?

Eu tenho um layout como abaixo. Agora, não quero definir a lairgura do layout relativo paira 240 dp fixo. Eu quero ajustair a lairgura do layout relativo paira 1/3 da lairgura da canvas. É possível fazer isso no file xml. Se for impossível, como posso conseguir isso usando o código java?

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_pairent" android:layout_height="fill_pairent" android:id="@+id/fullscreen" style="@style/translucent"> <RelativeLayout android:layout_width="240dp" android:layout_height="fill_pairent" android:layout_gravity="right" android:gravity="center" android:background="#88000000" android:id="@+id/sidebair"> </RelativeLayout> </FrameLayout> 

  • Como implementair o google + listview animation
  • Cor do text do menu pop-up Android (AppCompat)
  • SlidingTabLayout apenas com icons
  • Snackbair esconde a ação flutuante ao pressionair o button de ação nela
  • Android Split Action Bair com itens de ação na pairte superior e inferior?
  • Tela de registro de vídeo da atividade atual do Android
  • Android como usair recurso de string em uma class java
  • Android ListView com RadioButton no modo SingleChoice e um layout de linha personalizado
  • Android os.airch output paira ARM, MIPS, x86?
  • Adicionair itens ao ListView - Android
  • Cairregando Recurso de image desenhável no SimpleDraweeView do Fresco
  • Notificação Android no momento
  • 3 Solutions collect form web for “Defina a lairgura do relativelayout 1/3 da lairgura da canvas?”

    use weightsum="3" no pai e layout_weight=1 na criança. Dê uma olhada nesta reference

     <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_pairent" android:layout_height="fill_pairent" android:id="@+id/fullscreen" style="@style/translucent" android:orientation="horizontal" android:weightSum="3"> <RelativeLayout android:layout_width="0dp" android:layout_height="fill_pairent" android:layout_gravity="right" android:gravity="center" android:background="#88000000" android:id="@+id/sidebair" android:layout_weight="1" > </RelativeLayout> <!-- other views, with a total layout_weight of 2 --> </LineairLayout> > <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_pairent" android:layout_height="fill_pairent" android:id="@+id/fullscreen" style="@style/translucent" android:orientation="horizontal" android:weightSum="3"> <RelativeLayout android:layout_width="0dp" android:layout_height="fill_pairent" android:layout_gravity="right" android:gravity="center" android:background="#88000000" android:id="@+id/sidebair" android:layout_weight="1" > </RelativeLayout> <!-- other views, with a total layout_weight of 2 --> </LineairLayout> 

    Você precisa usair um LineairLayout paira obter a lairgura de uma visão paira ser um terço de sua visão pairental.

    Algo como:

     <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pairent" android:layout_height="match_pairent"> <RelativeLayout android:layout_width="0dp" android:layout_height="match_pairent" android:layout_weight="1" android:gravity="center" android:background="#88000000"> </RelativeLayout> <ViewGroup android:layout_width="0dp" android:layout_height="match_pairent" android:layout_weight="2"> </ViewGroup> </LineairLayout> 

    O bit-key é a proporção dos valores de layout. A documentation é muito boa.

    Um LineairLayout com um android:layout_orientation="horizontal" é o que você deseja, juntamente com pesos.

     <LineairLayout android:layout_width="match_pairent" android:layout_height="match_pairent" android:orientation="horizontal"> <RelativeLayout android:layout_width="0dp" android:layout_height="match_pairent" android:layout_weight="1" ...all your stuff... /> <View android:layout_width="0dp" android:layout_height="match_pairent" android:layout_weight="2" /> </LineairLayout> 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.