首页 > 解决方案 > 将按钮高度重置为布局标准 wrap_content

问题描述

我有一个带有按钮孩子的recyclerview。在设备旋转时,我需要在某些情况下更改所有按钮的高度以适应屏幕。我的问题是,在方向更改为水平后,所有小部件的高度都需要匹配它们的文本内容。

我尝试过的事情是:

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
                    LinearLayout.LayoutParams.WRAP_CONTENT);
button.setLayoutParams(params);

我也试过

button.forceLayout();

按钮布局:

<Button
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    style="@style/AppButtonMenu"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    tools:showIn="@layout/fragment_kanban_menu" />

@style/AppButtonMenu:

<style name="AppButtonMenu">
        <item name="android:textAppearance">@style/TextAppearance.AppCompat.Medium</item>
        <item name="android:textAllCaps">false</item>
        <item name="android:gravity">center_vertical|left</item>
        <item name="android:padding">@dimen/margin_base_2x</item>
        <item name="android:layout_margin">@dimen/margin_base_05x</item>
        <item name="android:textColor">@android:color/white</item>
        <item name="android:drawablePadding">@dimen/margin_base_3x</item>
</style>

我不想使用这个如何重置或取消设置以编程方式设置的视图高度或宽度的解决方案

标签: androidandroid-layoutandroid-recyclerview

解决方案


推荐阅读