美文网首页
自定义Preference和PreferenceFragment

自定义Preference和PreferenceFragment

作者: 春来草木萌 | 来源:发表于2019-11-01 19:02 被阅读0次

    开发中遇到的问题, Mark下

    1.修改PreferenceFragment的ScrollBar样式

    PreferenceFragment并没有提供相关接口,因此想要修改的话,需要重新写layout

    package com.android.abc;
    
    import android.content.Context;
    import android.os.Bundle;
    import android.preference.PreferenceFragment;
    import android.support.annotation.Nullable;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ListView;
    
    import com.example.my.demo.R;
    
    import java.util.jar.Attributes;
    
    public class CustomPreferenceFragment extends PreferenceFragment {
    
        @Override
        public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            return inflater.inflate(R.layout.custom_preference_list_fragment, container, false);
        }
    
        @Override
        public void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            addPreferencesFromResource(R.xml.demo_preference);
        }
    
    }
    
    
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/container_material"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/transparent">
    
        <FrameLayout
            android:id="@android:id/list_container"
            android:layout_height="0px"
            android:layout_weight="1"
            android:layout_width="match_parent" >
    
            <ListView
                android:id="@android:id/list"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:clipToPadding="false"
                android:divider="@null"
                android:dividerHeight="0dp"
                android:drawSelectorOnTop="false"
                android:fadeScrollbars="false"
                android:scrollbarAlwaysDrawVerticalTrack="true"
                android:scrollbarFadeDuration="0"
                android:scrollbarSize="1dp"
                android:scrollbarStyle="outsideOverlay"
                android:scrollbarThumbVertical="@drawable/scrollbar_vertical_thumb"
                android:scrollbarTrackVertical="@drawable/scrollbar_vertical_track"
                android:scrollbars="vertical" />
    
        </FrameLayout>
    
    </LinearLayout>
    

    scrollbar_vertical_thumb.xml

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
            <shape android:shape="rectangle">
                <size android:width="1dp" android:height="60dp" />
                <corners android:radius="2px" />
                <solid android:width="2px" android:color="#FF3098FA" />
            </shape>
        </item>
    </selector>
    

    scrollbar_vertical_track.xml

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
            <shape android:shape="rectangle">
                <corners android:radius="6px" />
                <solid android:width="6px" android:color="#FF2A3039" />
            </shape>
        </item>
    </selector>
    

    效果如下:


    111.PNG

    未完待续...
    转载请注明出处o(∩_∩)o

    相关文章

      网友评论

          本文标题:自定义Preference和PreferenceFragment

          本文链接:https://www.haomeiwen.com/subject/blsqbctx.html