时间选择器,有时候需要点击文本框,即全选,而不必再移动光标,修改文本的大小显示,有如下代码实现:

// 找到时间选择器中的nunmberpicker

private List<NumberPicker> findNumberPicker(ViewGroup viewGroup)

   {

       List<NumberPicker> npList = new ArrayList<NumberPicker>();

       View child = null;


       if (null != viewGroup)

       {

           for (int i = 0; i < viewGroup.getChildCount(); i++)

           {

               child = viewGroup.getChildAt(i);

               if (child instanceof NumberPicker)

               {

                   npList.add((NumberPicker)child);

               }

               else if (child instanceof LinearLayout)

               {

                   List<NumberPicker> result = findNumberPicker((ViewGroup)child);

                   if (result.size() > 0)

                   {

                       return result;

                   }

               }

           }

       }


       return npList;

   }

// 找到numberpicker中的edittext控件

   private EditText findEditText(NumberPicker np)

   {

       if (null != np)

       {

           for (int i = 0; i < np.getChildCount(); i++)

           {

               View child = np.getChildAt(i);


               if (child instanceof EditText)

               {

                   return (EditText)child;

               }

           }

       }


       return null;

   }

//设置文本框的文字大小

   private void setNumberPickerTextSize(ViewGroup viewGroup)

   {

       List<NumberPicker> npList = findNumberPicker(viewGroup);

       if (null != npList)

       {

           for (NumberPicker np : npList)

           {

               EditText et = findEditText(np);

               et.setFocusable(false);

               et.setGravity(Gravity.CENTER);

               et.setTextSize(10);


           }

       }

   }