如何从字体宽度设置视图宽度

时间:2012-11-30 21:58:25

标签: android width spinner font-size

我在水平布局中有一个EditText和一个微调器。我希望微调器只能保持其最宽的文本和EditText占用剩余空间所需的大小。有一个简单的方法吗?

例如,理想情况下,我想将微调器的宽度指定为平均字体宽度的倍数,在xml文件中声明为属性。

否则,我想我需要在运行时做一些事情,比如在微调器中获取每个项目的文本宽度,并为单选按钮图标选择max + some allowance。

这是我的xml:

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="horizontal" >

  <EditText
    android:id="@+id/text"
    android:layout_weight="1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="@string/text" />

  <Spinner
    android:id="@+id/type"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:spinnerMode="dropdown"
    android:textAppearance="@android:style/TextAppearance.Medium" />
</LinearLayout>

感谢。

1 个答案:

答案 0 :(得分:1)

试试这个

<LinearLayout
    android:id="@+id/rl"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="10dp"
    android:orientation="horizontal" >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1" >
    </EditText>

    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>