2014-02-28 52 views
1

因此,由於數字選擇器的支持庫有限(因爲它的WAAY太大),我正在自己創建一個數字選擇器。不幸的是,它沒有正確顯示。創建一個自定義數字選擇器

修復它的任何幫助將是偉大的。

向上箭頭和向下箭頭佔據相同的空間(相互重疊,只有向下的箭頭出現)。向下的箭頭應該位於表示數字的文本的下方。 任何想法,爲什麼這是?

以下是截圖: number picker is wrong

下面是它的代碼:

//"Number-Picker" 
    LinearLayout numPicker = new LinearLayout(context); 
    numPicker.setOrientation(LinearLayout.VERTICAL); 
    numPicker.setLayoutParams(pickerItemParams); 
    LinearLayout.LayoutParams upDownParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, 1.0f); 

     //Up button   
     LinearLayout upSpace = new LinearLayout(context); 
     ImageView upArrow = new ImageView(context); 
     upArrow.setBackgroundResource(R.drawable.arrow_up); 
     upSpace.setLayoutParams(upDownParams); 
     upSpace.addView(upArrow); 

     //text 
     LinearLayout numSpace = new LinearLayout(context); 
     TextView pickerNum = new TextView(context); 
     pickerNum.setText(String.valueOf(textValue)); 
     numSpace.setLayoutParams(upDownParams); 
     numSpace.addView(pickerNum); 

     //down 
     LinearLayout downSpace = new LinearLayout(context); 
     ImageView downArrow = new ImageView(context); 
     upArrow.setBackgroundResource(R.drawable.arrow_down); 
     downSpace.setLayoutParams(upDownParams); 
     downSpace.addView(downArrow); 

    numPicker.addView(upSpace); 
    numPicker.addView(numSpace); 
    numPicker.addView(downSpace); 

回答

3
//down 
LinearLayout downSpace = new LinearLayout(context); 
ImageView downArrow = new ImageView(context); 
upArrow.setBackgroundResource(R.drawable.arrow_down); // <----- Should be downArrow 
downSpace.setLayoutParams(upDownParams); 
downSpace.addView(downArrow); 

這可能會導致你的DownArrow中文實際存在,但它的ImageView缺少自己的形象。

+0

幹得好,先生!當我感到如此愚蠢。大聲笑。應該在一個小時前看到。 Dem bug你知道。大聲笑 –

+0

我們都時刻想念他們:) – Singmyr