1

因此,由于对号码选择器的支持库有限(而且因为它太大了),我正在制作自己的号码选择器。不幸的是,它没有正确显示。

任何修复它的帮助都会很棒。

向上箭头和向下箭头占据相同的空间(彼此重叠,因此仅出现向下箭头)。向下箭头应位于代表数字的文本下方。知道这是为什么吗?

这是屏幕截图: 号码选择器错误

这是它的代码:

    //"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);
4

1 回答 1

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 缺少其图像。

于 2014-02-28T19:35:05.160 回答