2011-05-07 63 views
2

在Android應用程序中水平和垂直重複線性佈局的背景非常簡單。您只需要使用tileMode(請參見How to make android app's background image repeat如何在Android應用程序中添加垂直平鋪(僅)背景

但是,xml文件中的tileMode不允許我僅在垂直軸上重複背景圖像。有一個tileModeY,但你不能從xml訪問它。

我試圖修改該屬性以「重複」。

我已經與線性佈局的main.xml中的文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:id="@+id/mainMenuLayout" 
       android:orientation="vertical" 
       android:gravity="center_horizontal" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent"> 

我在繪製/ welcomebackground.png一個形象,也爲繪製/ welcomebackgroundpattern.xml像一個XML文件:

<?xml version="1.0" encoding="utf-8"?> 
<bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
     android:src="@drawable/welcomebackground" 
     android:dither="true" /> 

在我的活動我已經試過這樣:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    Resources res = getResources(); 
    BitmapDrawable background = (BitmapDrawable) res.getDrawable(R.drawable.welcomebackground); 
    background.setTileModeY(Shader.TileMode.REPEAT); 
    (new View(this)).setBackgroundResource(R.drawable.welcomebackground); 
    } 

但我的背景仍然是全黑的。當然,我可以從xml中添加它,但它在x和y軸都重複。

所以我的問題很簡單:我如何在我的活動中垂直重複「welcomebackground」圖像?

+0

可能重複http://stackoverflow.com/questions/3657793/android-bitmap-tile-on-x-only ) – fredley 2011-05-16 17:54:22

回答