我有一个按钮,我设置了一个特定的高度,按钮文本填充整个按钮。我之前通过将match_parent
设置为特定维度来填充按钮来实现此目的。
但问题是每当用户更改他/她的设备的系统字体时,它会影响按钮文本并且文本溢出并在按钮中被切断。如何使按钮文本大小与按钮的高度相匹配?
修改
按钮的高度设置为 <android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay">
<RelativeLayout
android:layout_marginEnd="16dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginRight="16dp">
<Button
android:id="@+id/text_toolbar"
style="?android:attr/borderlessButtonStyle"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:textSize="36sp"
android:textColor="@color/white"
android:text="@string/k_i_n_e_c_t"/>
</RelativeLayout>
</android.support.v7.widget.Toolbar>
,用于其父窗口小部件
{{1}}
答案 0 :(得分:1)
如果您使用此wrap_content,则文本不会溢出
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Upload Image"
android:id="@+id/buttonUpload" />
答案 1 :(得分:1)
尝试将wrap_content属性设置为RelativeLayout和Button,就像上面的代码一样,
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay">
<RelativeLayout
android:layout_marginEnd="16dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="16dp">
<Button
android:id="@+id/text_toolbar"
style="?android:attr/borderlessButtonStyle"
android:layout_centerInParent="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="36sp"
android:textColor="@color/white"
android:text="@string/k_i_n_e_c_t"
android:padding="2sp"/>
</RelativeLayout>
</android.support.v7.widget.Toolbar>
答案 2 :(得分:0)
只需按下按钮的高度:
button.getHeight();
使用以下方式设置文字大小:
button.setTextSize();
答案 3 :(得分:0)
我猜你必须使用dp作为文本化的单位。最好使用sp作为文本维度。
答案 4 :(得分:0)
您可以通过设置宽度,高度和宽度来实现此目的。按钮的wrap_content。
或您可以尝试修改按钮的大小,并根据文字大小动态更改按钮大小。