Я пытаюсь создать заголовок с левой и правой кнопками, а также заголовок в центре, с кнопкой, расположенной сразу справа от кнопки (которая позволит выбрать что-то). Макет должен быть таким:
|<Button> <TextView><Button> <Button>|
Если заголовок очень длинный, он должен иметь размер эллипса. Для этого кажется, что для textview нужен layout_weight, как видно из этого решения , в противном случае он отталкивает правые кнопки от экрана. Однако установка layout_weight для textview отталкивает центральную кнопку вправо:
|<Button> <TextView> <Button><Button>|
Макет в том виде, в каком он есть, таков:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<Button
android:text="Hello"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:text="Testing"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:singleLine="true"
android:layout_weight="1"
android:gravity="center"
android:ellipsize="end"
android:inputType="text"
/>
<Button
android:text="Hello"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<Button
android:text="Hello"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
[РЕДАКТИРОВАТЬ] Попытка подхода FunkTheMonk не совсем работает, так как в итоге она выталкивает центральную кнопку из макета, если строка длинная:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<Button
android:text="Hello1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:gravity="center"
android:layout_weight="1"
>
<TextView
android:text="Testing a very long text to see how it works how do you like me now this is still longer yet"
android:layout_margin="3dp"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:singleLine="true"
android:gravity="center"
android:ellipsize="end"
android:inputType="text"
/>
<Button
android:text="Hello2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
<Button
android:text="Hello3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>