2010-12-14 40 views
1

j'ai main.xml:Comment modifier (marge de eMbeded TableLayout dans Relativelay en xml) dans le code

 <? xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/detailsback">  
    > 

<TextView 
android:id="@+id/name" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_marginTop="30px" 
android:layout_marginBottom="10px" 
/> 

<EditText 
android:id="@+id/ed" 
android:layout_width="200px" 
android:layout_height="200px" 
android:editable="false" 
android:focusable="false" 
android:text="ddddddddddd" 
android:layout_below="@id/name" 
/> 

<TableLayout 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_alignParentBottom="true" 
android:id="@+id/tableLayout" 
> 

<TableRow>  

    <Button 
android:id="@+id/btn1" 
android:layout_width="50px" 
android:layout_height="50px" 
android:layout_marginRight="15px" 
/> 

    <Button 
android:id="@+id/btn2" 
android:layout_width="40px" 
android:layout_height="50px" 
android:layout_marginRight="15px" 
/> 

     <Button 
android:id="@+id/btn3" 
android:layout_width="100px" 
android:layout_height="20px" 
android:layout_marginRight="15px" 
/> 
</TableRow> 

<TableRow>  

    <Button 
android:id="@+id/btn4" 
android:layout_width="50px" 
android:layout_height="50px" 
android:layout_marginRight="15px" 
android:layout_marginTop="5px" 
/> 

<Button 
android:id="@+id/btn5" 
android:layout_width="30px" 
android:layout_height="50px" 
android:layout_marginRight="15px" 
android:layout_marginTop="5px"  
/> 
    <Button 
android:id="@+id/btn6" 
android:layout_width="100px" 
android:layout_height="20px" 
android:layout_marginRight="15px" 
android:layout_marginTop="5px" 
/> 
</TableRow> 
</TableLayout> 

</RelativeLayout> 

dans le code i utilisé

setContentView(R.layout.main); 

maintenant je veux modifier la marge TableLayout de selon la résolution de l'écran, le problème est de savoir comment atteindre à TableLayout via le code, j'ai essayé ceci:

TableLayout table=(TableLayout)findViewById(R.id.tableLayout); 
    LayoutParams pa=new LayoutParams(); 
    pa.bottomMargin=20; 
    pa.rightMargin=20; 

    table.setLayoutParams(pa); 

mais il ne WOR k !!

+0

Quelle est la nécessité d'ajouter ces des marges par curiosité? pourquoi ne pas les mettre en page xml? – ninjasense

+0

caz je veux les changer avec le changement de la largeur de l'écran et la hauteur avec des appareils carieux – Yahia

Répondre

0

Je viens de recevoir le même problème, et j'ai tout compris par la méthode ci-dessous,

essayer de changer la ligne

LayoutParams pa=new LayoutParams(); 

à

FrameLayout.LayoutParams pa= new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT,android.widget.TableLayout.LayoutParams.WRAP_CONTENT);