自定義時間選擇器點擊全選文本框

時間選擇器,有時候需要點擊文本框,即全選,而不必再移動光標,修改文本的大小顯示,有如下代碼實現:

// 找到時間選擇器中的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);


           }

       }

   }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章