Intereting Posts

InputType = имя_пользователя?

У меня есть объект TextView, целью которого является написание имени человека. Я посмотрел здесь и увидел, что textPersonName – это тип ввода. Поэтому я выбрал этот тип ввода, считая, что он будет делать то, что я хотел.

Однако этот тип ввода не использует первую букву. Поскольку имена людей начинаются с заглавных букв, я обнаружил, что это очень странно. Является ли это преднамеренным или надзор за дизайном со стороны Google?

В любом случае, я выбрал textCapWords как новый тип ввода, чтобы каждое слово textCapWords заглавным. Будет ли недостаток в использовании этого типа ввода для имени человека? Каковы преимущества использования textPersonName в качестве типа ввода?

Solutions Collecting From Web of "InputType = имя_пользователя?"

Вы можете комбинировать атрибуты inputType с помощью | (Или) оператора.

http://developer.android.com/reference/android/widget/TextView.html#attr_android:inputType

Тип данных, помещаемых в текстовое поле, используемый для помощи методу ввода, определяет, как позволить пользователю вводить текст. Константы здесь соответствуют значениям, определяемым InputType. Как правило, вы можете выбрать одно значение, хотя некоторые из них могут быть объединены вместе, как указано. Установка этого атрибута во что-либо, кроме него, также означает, что текст доступен для редактирования.

Должен быть один или несколько (разделенных символом '|') следующих постоянных значений.

Поэтому, чтобы комбинировать преимущества textPersonName с textCapWords , просто установите тип ввода с помощью этого синтаксиса:

 android:inputType="textPersonName|textCapWords" 

Этот ответ дает краткое объяснение преимуществ использования textPersonName для поля ввода имени.

inputype в inputype EditText : (протестирован на Android 4.4.3 и 2.3.3)

 <EditText android:id="@+id/et_test" android:inputType="?????"/> 
  • InputType: textLongMessage . Клавиатура: алфавит / значение по умолчанию. Введите кнопку: Отправить / Далее. Эмоция: да. Корпус: строчный. Предложение: да. Добавление символов:, и . и все

  • InputType: textFilter . Клавиатура: алфавит / значение по умолчанию. Введите кнопку: Отправить / Далее. Эмоция: да. Корпус: строчный. Предложение: нет . Добавление символов:, и . и все

  • InputType: textCapWords . Клавиатура: алфавит / значение по умолчанию. Введите кнопку: Отправить / Далее. Эмоция: да. Случай: Случай верблюда . Предложение: да. Добавление символов:, и . и все

  • InputType: textCapSentences . Клавиатура: алфавит / значение по умолчанию. Введите кнопку: Отправить / Далее. Эмоция: да. Случай: случай предложения . Предложение: да. Добавление символов:, и . и все

  • InputType: время . Клавиатура: числовая. Введите кнопку: Отправить / Далее. Эмоции: нет. Предложение: нет . Дополнительные символы::

  • InputType: textMultiLine . Клавиатура: алфавит / значение по умолчанию. Введите кнопку: nextline . Эмоция: да. Корпус: строчный. Предложение: да. Добавление символов:, и . и все

  • InputType: число . Клавиатура: числовая . Введите кнопку: Отправить / Далее. Эмоции: нет. Предложение: нет. Добавление символов: ничего

  • InputType: textEmailAddress . Клавиатура: алфавит / значение по умолчанию. Введите кнопку: Отправить / Далее. Эмоции: нет . Корпус: строчный. Предложение: нет . Добавление символов: @ и . и все

  • InputType: (Нет типа) . Клавиатура: алфавит / значение по умолчанию. Введите кнопку: nextline . Эмоция: да. Корпус: строчный. Предложение: да. Добавление символов:, и . и все

  • InputType: textPassword . Клавиатура: алфавит / значение по умолчанию. Введите кнопку: Отправить / Далее. Эмоции: нет. Корпус: строчный. Предложение: нет . Добавление символов:, и . и все

  • InputType: текст . Клавиатура: Клавиатура: алфавит / значение по умолчанию. Введите кнопку: Отправить / Далее. Эмоция: да. Корпус: строчный. Предложение: да. Добавление символов:, и . и все

  • InputType: textShortMessage . Клавиатура: алфавит / значение по умолчанию. Введите кнопку: эмоции . Эмоция: да. Корпус: строчный. Предложение: да. Добавление символов:, и . и все

  • InputType: textUri . Клавиатура: алфавит / значение по умолчанию. Введите кнопку: Отправить / Далее. Эмоции: нет. Корпус: строчный. Предложение: нет . Дополнительные символы: / . и все

  • InputType: textCapCharacters . Клавиатура: алфавит / значение по умолчанию. Введите кнопку: Отправить / Далее. Эмоция: да. Случай: ВЕРХНИЙ . Предложение: да. Добавление символов:, и . и все

  • InputType: телефон . Клавиатура: числовая . Введите кнопку: Отправить / Далее. Эмоции: нет. Предложение: нет . Добавление символов: * #. – / () WPN, +

  • InputType: textPersonName . Клавиатура: алфавит / значение по умолчанию. Введите кнопку: Отправить / Далее. Эмоция: да. Корпус: строчный. Предложение: да. Добавление символов:, и . и все

Примечание. Auto-capitalization изменяет поведение по умолчанию.

Примечание 2: На Numeric keyboard ВСЕ номера указаны на английском языке 1234567890.

Примечание 3: Настройка Correction/Suggestion изменит поведение по умолчанию.

В любом случае, я выбрал textCapWords как новый тип ввода, чтобы каждое слово начиналось заглавным. Будет ли недостаток в использовании этого типа ввода для имени человека?

Кажется, здесь не проблема, так как вы просто меняете тип ввода, указав его как начальную букву в «Капитале», но это позволит ввести несколько строк. Это может быть недостатком, когда вам нужна только одна строка с именем человека ,

Каковы преимущества использования textPersonName в качестве типа ввода?

Однострочная запись в текстовом поле является преимуществом для использования текстового ввода как textPerson.

 public class MainActivity extends Activity { TextView tv1; EditText et1; Button bt1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv1=(TextView)findViewById(R.id.textView1); et1=(EditText)findViewById(R.id.editText1); bt1=(Button)findViewById(R.id.button1); bt1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub String s=et1.getText().toString(); //char s1=s.charAt(0); if (s.length() <= 1) { s = s.toUpperCase(); } else { s = s.substring(0, 1).toUpperCase() +s.substring(1); } tv1.setText(s); } }); }