Android:根据设备大小对齐图像?

时间:2012-03-28 09:30:12

标签: android

我有三个线性布局的图像或按钮,适合大型设备使用,但是当涉及到小型设备时,我该怎么办才能使第三张图像进入下一行(在小型设备中,它会在风景中正确对齐但在纵向模式下它会离开屏幕。)

enter image description here

XML代码:

        <LinearLayout
            android:id="@+id/linearLayout7"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:gravity="left" android:layout_gravity="left" android:fitsSystemWindows="true">

            <ImageButton
                android:id="@+id/stopServiceButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/stop_service_button_selector" android:background="@null" android:layout_gravity="left" android:paddingBottom="5dp" android:paddingRight="5dp" android:paddingTop="5dp"/>

            <ImageButton
                android:id="@+id/calibrateButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/calibrate_button_selector" android:background="@null" android:layout_gravity="left" android:padding="5dp"/>

            <ImageButton
                android:id="@+id/doneButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/done_button_selector" android:background="@null" android:layout_gravity="left" android:padding="5dp"/>

        </LinearLayout>

2 个答案:

答案 0 :(得分:0)

我修改了你的代码,在按钮上设置图像然后看,它工作正常......

       <LinearLayout
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:orientation="vertical"        
       android:layout_weight="1">

       <Button  
       android:id="@+id/aa"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"            
       android:layout_gravity="center"
       android:src="@drawable/stop_service_button_selector"/>


    </LinearLayout>

     <LinearLayout
        android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:orientation="vertical"        
       android:layout_weight="1">
       <Button  
       android:id="@+id/bb"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"            
       android:layout_gravity="center"
       android:src="@drawable/calibrate_button_selector"/>     


    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:orientation="vertical"        
       android:layout_weight="1">

       <Button  
       android:id="@+id/cc"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"                        
       android:layout_gravity="center"
       android:src="@drawable/done_button_selector"/>


    </LinearLayout>    

</LinearLayout>

答案 1 :(得分:0)

一种简单的方法是使用layout_weight属性,这样

    <LinearLayout 
        android:id="@+id/linearLayout7" 
        android:layout_width="fill_parent" 
        android:weight_sum="3"
        android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:gravity="left" android:layout_gravity="left" android:fitsSystemWindows="true"> 

        <ImageButton 
            android:id="@+id/stopServiceButton" 
            android:layout_weight="1"
            android:layout_width="0dp" 
            android:layout_height="wrap_content" 
            android:src="@drawable/stop_service_button_selector" android:background="@null" android:layout_gravity="left" android:paddingBottom="5dp" android:paddingRight="5dp" android:paddingTop="5dp"/> 

        <ImageButton 
            android:id="@+id/calibrateButton" 
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content" 
            android:src="@drawable/calibrate_button_selector" android:background="@null" android:layout_gravity="left" android:padding="5dp"/> 

        <ImageButton 
            android:id="@+id/doneButton" 
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content" 
            android:src="@drawable/done_button_selector" android:background="@null" android:layout_gravity="left" android:padding="5dp"/> 

    </LinearLayout>