Проект Android — Определение размера редактируемого текста

#android #view #size #width #android-edittext

#Android #Вид #размер #ширина #android-редактируемый текст

Вопрос:

Привет, ребята, я пытаюсь установить ширину редактируемого текста. Моя цель — установить длину редактируемого текста ровно в 1/2 от общего экрана.

Я написал этот код:

 RelativeLayout rl = (RelativeLayout) this.findViewById(R.id.mainRelativeLayout);
int width = rl.getWidth();
int half = width/2;

EditText userName = (EditText) this.findViewById(R.id.userName);
userName.SET_SOMEHOW_THE_SIZE(half);
  

Но я не могу найти рабочий метод для установки ширины: (

Спасибо, Марко

Ответ №1:

Лучше делать в макетах, не используйте код

следующее создает EditText, который занимает половину экрана, и TextView, который занимает другую половину, просто научитесь играть с макетами, они должны позволить вам получить ожидаемый результат

 <LinearLayout android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <EditText android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1" />

    <TextView android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1" />
</LinearLayout>
  

Комментарии:

1. неважно, просто обязательно следуйте моему предложению, когда будете настраивать свои макеты в будущем =)

Ответ №2:

Марко,

EditText наследуется TextView . Это означает, что вы можете использовать унаследованный setWidth() метод.

Комментарии:

1. Спасибо, проблема заключалась в том, что возвращаемый размер экрана был равен 0, поэтому я использовал эту функцию: Display display = getWindowManager().getDefaultDisplay(); int width = display.getWidth();

Ответ №3:

Просто сделайте:

 userName.setWidth(half);