有许多很好的教程使用 `$new_image_name = '2018_'.mt_rand();
$base_url = 'https://www.habbo.com/habbo-imaging/avatarimage?figure=hr-125&direction=3&head_direction=3&headonly=1&gesture=sml&size=1';
$img = "./image_path/$new_image_name.jpg";
file_put_contents($img,file($base_url));
$local_image_url = "http://example.org/test/path_to_image/$new_image_name.jpg";`
来讨论 BottomSheet 。但是在我使用我目前的支持库版本24.2.1进行尝试之后,我花了几天时间毫不知道为什么我的包含顶部填充。
这是我的活动布局xml:
NestedScrollView
BottomSheet的布局<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".ui.MainActivity">
<!-- AppBar -->
<include
android:id="@+id/appBar"
layout="@layout/app_bar_layout_with_tab"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabPager="@{tabPager}" />
<!-- Content -->
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipeRefresh"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.v4.widget.SwipeRefreshLayout>
<!-- [START] BottomSheet -->
<include
android:id="@+id/bottomSheetMain"
layout="@layout/fragment_bottom_sheet_song"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
app:behavior_hideable="false"
app:behavior_peekHeight="0dp"
app:layout_behavior="@string/bottom_sheet_behavior" />
<!-- [END BottomSheet] -->
</android.support.design.widget.CoordinatorLayout>
:
fragment_bottom_sheet_song.xml
为什么有顶部填充?我该如何解决这个问题?
感谢。
答案 0 :(得分:1)
经过几天的努力,我发现为了解决这个问题,持久性底部工作表布局容器必须是>>> from collections import defaultdict
>>> d = defaultdict(list)
>>> d
defaultdict(list, {})
>>> d[3]
[]
>>> d
defaultdict(list, {3: []})
。如果不是(就像我的情况,我将FrameLayout
直接包括在内并使其成为底页),它将包含默认的顶部填充,我仍然不知道为什么。
所以这是我要修复的新Activity的xml布局代码:
NestedScrollView
希望这也对你有帮助。
答案 1 :(得分:1)
我认为您需要从此视图的根布局android:fitsSystemWindows="true"
中删除标签android.support.design.widget.CoordinatorLayout
。您的源代码布局将是这样。
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.MainActivity">
<!-- children contents -->
</android.support.design.widget.CoordinatorLayout>
希望获得帮助。
答案 2 :(得分:0)
尝试在您的活动清单中添加此内容,显然在我的情况下,键盘会导致底片自动填充。
android:windowSoftInputMode="adjustPan"