2012-03-28 55 views
0

我在線性佈局中有三個圖像或按鈕,適合在大型設備上使用,但對於小型設備,我應該怎麼做才能讓第三個圖像進入下一行(在小型設備中,它會是在橫向上正確對齊,但在縱向模式下它會從屏幕中移出)。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> 
+0

你應該使用不同的佈局,圖形針對不同的DPI(華電國際,MDPI等)http://developer.android.com/guide/practices/screens_support.html – 2012-03-28 09:34:41

+0

是啊,我用不同的dpi的年代,但我想有應該是一種重新定位Android中的圖像/按鈕的方法根據設備..認爲LinearLayout會照顧它。 – 2012-03-28 09:38:55

+0

我已經過去的代碼使用,它會適合你的工作.. – Hasmukh 2012-03-28 09:41:38

回答

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> 
+0

我沒有使用1,但嘗試了一些組合,現在得到它的工作..謝謝.. – 2012-03-28 11:38:29

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>