android - 在自定义首选项中使用默认首选项高度

时间:2016-06-30 15:32:08

标签: android height android-preferences preferenceactivity preference

我有自定义偏好:

public class ButtonPreference extends Preference {
    public ButtonPreference(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    public ButtonPreference(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected View onCreateView(ViewGroup parent) {
        super.onCreateView(parent);
        LayoutInflater li = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        return li.inflate(R.layout.button_prederence, parent, false);
    }

}

和xml button_prederence.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Click me" />

</LinearLayout>

我希望我的所有偏好都在同一高度,因此我需要获取默认偏好高度并将其应用于ButtonPreference

我该怎么做?

1 个答案:

答案 0 :(得分:0)

我也遇到了这个问题。

经过一番研究,我发现了这种解决方法。尝试在LinearLayout

中添加此行
android:minHeight="?android:listPreferredItemHeight"

或者您可以在<}检查Preference的原始xml文件 sdk\platforms\android-24\data\res\layout\preferences.xml