site - comment régler la hauteur de la disposition relative dynamiquement dans Android



programmation android eyrolles pdf (2)

Vous ne devriez pas utiliser px , utilisez plutôt dp .

android:layout_height="365dp"

Avoir une lecture ici , pour connaître le pixel indépendant de la densité (dp) mieux.

Il est fortement recommandé d'utiliser les unités dp pour définir l'interface utilisateur de votre application, afin de garantir un affichage correct de votre interface utilisateur sur différents écrans.

https://src-bin.com

Cela fonctionne bien sur l'émulateur, mais pas sur les appareils, car j'ai codé en dur la hauteur de 365. Quelqu'un peut-il m'aider à cet égard?

<?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">
<TabHost android:id="@+id/tab_host"
    android:layout_width="fill_parent" android:layout_height="fill_parent">
    <TabWidget android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:id="@android:id/tabs"
        android:layout_gravity="bottom"/>
        <FrameLayout android:id="@android:id/tabcontent"
            android:layout_width="fill_parent" android:layout_height="fill_parent">
            <RelativeLayout android:id="@+id/first_tab"
                android:orientation="vertical" android:layout_width="fill_parent"
                android:layout_height="365px">
                <WebView xmlns:android="http://schemas.android.com/apk/res/android"
                    android:id="@+id/webview"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"/>
                    <ImageView
                        android:id="@+id/widget31"
                        android:layout_width="fill_parent"
                        android:layout_height="49px"
                        android:layout_x="0px"
                        android:layout_y="0px"
                        android:background="#39000000"
                        android:layout_alignParentBottom="true">
                    </ImageView>
                    <ImageButton
                        android:id="@+id/btnFB"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:src="@drawable/fb"
                        android:background="#00000000"
                        android:layout_alignRight="@+id/widget31"
                        android:layout_alignParentBottom="true">
                    </ImageButton>
                    <TextView   
                        android:id="@+id/myTextView1"   
                        android:layout_height="wrap_content"   
                        android:layout_width="wrap_content"   
                        android:text="Share"
                        android:textColor="#111111"
                        android:textSize="14pt"
                        android:paddingBottom="5px"
                        android:layout_alignLeft="@+id/widget31"
                        android:layout_alignParentBottom="true"/> 
                        <ImageButton
                            android:id="@+id/btnTwitter"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:src="@drawable/twitter"
                            android:visibility="invisible"
                            android:background="#00000000"
                            android:layout_alignRight="@+id/widget31"
                            android:layout_alignParentBottom="true">
                        </ImageButton>
            <!-- Replace TextView with your layout content for this tab -->
            </RelativeLayout>
            <LinearLayout android:id="@+id/second_tab"
                android:orientation="vertical" android:layout_width="fill_parent"
                android:layout_height="fill_parent">
                <ScrollView   
                    android:id="@+id/ScrollView01"  
                    android:layout_height="365px"   
                    android:layout_width="fill_parent">  
                    <WebView xmlns:android="http://schemas.android.com/apk/res/android"
                        android:id="@+id/webviewForRSS"
                        android:layout_width="fill_parent"
                        android:layout_height="365px"
                        android:background="#98012E"/>
                </ScrollView>
            <!-- Replace TextView with your layout content for this tab -->
            </LinearLayout>
            <LinearLayout android:id="@+id/edit_item_text_tab"
                android:orientation="vertical" android:layout_width="fill_parent"
                android:layout_height="fill_parent"/>
            </FrameLayout>
    </TabHost>
</RelativeLayout>

Merci.


Answer #1

Vous pouvez modifier dynamiquement la hauteur de la mise en page de différentes façons -----

Premier,

getLayoutParams().height= x;
requestLayout(); or invalidate(); 

Deuxièmement,

 first_tab.setHeight(int pixels);

Essayez d'utiliser quelqu'un du chemin .......





css-position