Android:根据设备大小调整图像?

Android:根据设备大小调整图像?,android,Android,我有三个线性布局的图像或按钮,适合大型设备,但是当涉及到小型设备时,我应该怎么做才能使第三个图像出现在小型设备的下一行中,它将在横向中正确对齐,但在纵向模式下它将离开屏幕 XML代码: <LinearLayout android:id="@+id/linearLayout7" android:layout_width="fill_parent" android:layout_height="wrap_c

我有三个线性布局的图像或按钮,适合大型设备,但是当涉及到小型设备时,我应该怎么做才能使第三个图像出现在小型设备的下一行中,它将在横向中正确对齐,但在纵向模式下它将离开屏幕

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>

我已经修改了你的代码,设置了按钮上的图像,然后看,它的工作很好

       <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>
一种简单的方法是使用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> 

对于不同的dpihdpi,您应该使用不同的布局、可绘制性,mdpi等是的,我正在使用不同的dpi,但我想应该有一种方法可以根据设备重新定位android中的图像/按钮。我认为LinearLayout会处理它。我以前使用过代码,它对您来说可以正常工作。并且不要给任何控件指定任何固定大小,好的。布局权重是缺少的因素…:我不太清楚。。