在滑动刷新布局中设置进度条的位置 android

set location for progressbar in swipe refresh layout android

我在我的应用中使用了滑动刷新布局。它有效,但我想在滑动布局边距顶部 100 像素中设置进度条的位置。我不想使用它的默认位置。我怎样做?谢谢

您可以使用此 setProgressViewOffset (boolean scale, int start, int end)

设置距顶部的偏移量

你可以阅读它 here

如果您尚未调用 dimens.xml

,请在文件夹 res/values 中创建一个 xml 文件

那你可以在里面:

<resources>
    <dimen name="refresher_offset">your_preferred_offset_in_dp</dimen>
    <dimen name="refresher_offset_end">how_long_in_dp_the_swipe</dimen>
</resources>

然后获取你已经膨胀的 SwipeRefreshLayout,如果你在 Activity 中则添加 onCreate,如果你在片段中则添加 onCreateView:

swipeRefreshLayout.setProgressViewOffset(false, 
  getResources().getDimensionPixelSize(R.dimen.refresher_offset),    
  getResources().getDimensionPixelSize(R.dimen.refresher_offset_end));

或者,您可以只用一个数字替换维度常量,但这意味着像素和相对位置会有所不同,从而导致在不同设备上的实现存在问题。