因此,由于数字选择器的支持库有限(而且它太大了),我正在制作自己的数字选择器。不幸的是,它没有正确显示。
任何修复它的帮助都会很棒。
向上箭头和向下箭头占据相同的空间(相互重叠,因此只有向下箭头出现)。向下箭头应位于代表数字的文本下方。 知道这是为什么吗?
截图如下:
这是它的代码:
//"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);
最佳答案
//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);
这可能会导致您的向下箭头实际存在,但其 ImageView 缺少其图像。
关于android - 创建自定义号码选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22103861/