如何使用GridLayoutManager使用RecyclerView设置列间距?在我的布局中设置边距/填充无效.
android gridview gridlayoutmanager recycler-adapter android-recyclerview
我正在使用Google Design Library中新的FloatingActionButton,我遇到了一些奇怪的填充/边距问题.此图像(启用了开发人员布局选项)来自API 22.
从API 17开始.
这是XML
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_gravity="bottom|right"
android:layout_marginLeft="16dp"
android:layout_marginRight="20dp"
android:layout_marginTop="-32dp"
android:src="@drawable/ic_action_add"
app:fabSize="normal"
app:elevation="4dp"
app:borderWidth="0dp"
android:layout_below="@+id/header"/>
Run Code Online (Sandbox Code Playgroud)
为什么API 17中的FAB如此大得多?
xml android android-layout floating-action-button android-design-library
我刚开始使用新的android.support.design库.当使用XML编辑器中的任何小部件时,我停止获取XML自动完成建议!
例如,
<android.support.design.widget.CoordinatorLayout
android:id="@+id/header_root"
android:layout_width="match_parent"
android:layout_height="200dp">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/primary_dark" />
<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:src="@drawable/ic_action_add"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginTop="56dp"
app:fabSize="normal"
app:layout_anchor="@id/header_root"
app:layout_anchorGravity="bottom|right|end" />
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
没有任何标签会显示自动完成弹出窗口,就像我开始输入"android:i"时没有出现弹出窗口,我得到的唯一建议如下图所示.
我已经尝试清理我的项目,重新启动电脑,重新启动Android Studio ..没有任何工作!
我无法阻止系统导航栏覆盖我的内容!
我滚动到recyclerview的最底部,但它隐藏在导航栏后面.这是我的XML布局.
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<include layout="@layout/toolbar"/>
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:fitsSystemWindows="true"
android:id="@+id/viewpager"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<com.melnykov.fab.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:layout_margin="16dp"
app:fab_colorNormal="@color/accent"
app:fab_colorPressed="@color/accent_dark" />
Run Code Online (Sandbox Code Playgroud)
这是您在图片中看到的片段布局.
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="8dp">
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"/>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
我已经尝试将android:fitsSystemWindows ="true"添加到我可以的每一个布局中,但是没有用.其他线程提到从条形图计算增加保证金,但这似乎不是正确的解决方案.我直接从谷歌的CheesSquare应用程序演示了appbarlayout这个布局,看起来它的工作正常.
在Gradle.build文件中,我看到一些项目使用
compileSdkVersion ="Google Inc.:Google API:22"
有些人只是使用这个数字
compileSdkVersion = "22"
两者有什么区别?
我有一个具有以下结构的多项目 gradle 项目。
Project A: The top level project that all sub projects reside in.
SubProject B:
SubProject C:
SubProject D:
SubProject E:
SubProject Shared: Every 'SubProject' has a dependency to this project "compile project(':Shared')"
Run Code Online (Sandbox Code Playgroud)
从顶级“项目 A”运行 Gradle 任务时,一切正常
但是,当我尝试在子项目(例如“SubProject C”)上运行单个任务时,出现以下错误。
FAILURE:构建失败,出现异常
什么地方出了错:
评估根项目“SubProject C”时出现问题。
在根项目“SubProject C”中找不到路径为“:Shared”的项目。
我想我在这里看到了问题,Gradle 认为我的子项目是根项目?但是我不知道如何解决这个问题。
我的顶级 settings.gradle 文件看起来像这样
rootProject.name = 'Project A'
include 'SubProject B'
include 'SubProject C'
include 'SubProject D'
include 'SubProject E'
include 'SubProject Shared'
Run Code Online (Sandbox Code Playgroud)
这是我的“SubProject C”的 build.gradle 文件
dependencies {
compile project(':Shared')
} …
Run Code Online (Sandbox Code Playgroud) 我正在使用片段内的android.support.v4.widget.SwipeRefreshLayout.滑动可以完美地刷新我的数据,但我只能看到一个空白的白色圆圈作为滑动指示器.我所看到的所有其他问题似乎都不起作用.
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_all_assets,container,false);
mListView = (ListView) view.findViewById(R.id.listView);
mSwipeLayout = (SwipeRefreshLayout) view.findViewById(R.id.swipe_container);
mSwipeLayout.setColorSchemeColors(android.R.color.holo_blue_bright,
android.R.color.holo_green_light,
android.R.color.holo_orange_light,
android.R.color.holo_red_light);
return view;
}
Run Code Online (Sandbox Code Playgroud)
XML
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/listView"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"/>
</android.support.v4.widget.SwipeRefreshLayout>
Run Code Online (Sandbox Code Playgroud)
依赖
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:support-v13:21.0.0'
compile 'com.android.support:appcompat-v7:21.0.+'
compile 'com.google.zxing:android-integration:3.1.0'
Run Code Online (Sandbox Code Playgroud)
如何让此刷新指示器生效?
我正在尝试设计一个我在Googles Material Design网站上找到的布局,特别是这个.
有没有人对如何制作这种布局有任何指示?或者知道任何样本布局代码?我似乎无法找到与此布局有关的任何内容.
我有一个使用 Spring WebFlux 的 Reactive Springboot 应用程序。我正在尝试连接到我的 /var/run/docker.sock Unix Domain Socket 来查询一些信息。
从我的终端,我可以使用以下命令获取所有正在运行的容器。
curl --unix-socket /var/run/docker.sock http:/v1.40/containers/json
Run Code Online (Sandbox Code Playgroud)
我正在遵循 Project Reactor 指南,在此处找到为 Unix 域套接字创建 HttpClient
我的测试代码如下。
return client.get()
.uri("/containers/json")
.responseContent()
.asString()
.collectList()
.flatMapMany(new Function<List<String>, Publisher<? extends Container>>() {
@Override
public Publisher<? extends Container> apply(List<String> strings) {
return Flux.empty();
}
});
Run Code Online (Sandbox Code Playgroud)
HttpClient 就是这样创建的。
private HttpClient getOperationsClient(OperationsProperties properties) {
return HttpClient.create()
.remoteAddress(() -> new DomainSocketAddress("/var/run/docker.sock"));
}
Run Code Online (Sandbox Code Playgroud)
提出请求时,我收到以下错误。
io.netty.channel.AbstractChannel$AnnotatedConnectException: connect(..) failed: Invalid argument: /var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)
深入研究一下错误,错误来自 io.netty.channel.unix.Socket.java 中的以下行(第 230 行)
res = connectDomainSocket(fd, unixDomainSocketAddress.path().getBytes(CharsetUtil.UTF_8)); …
Run Code Online (Sandbox Code Playgroud) 我试图将Renderscript支持库包含到我的项目中.我收到以下错误.
android.support.v8.renderscript.RSRuntimeException: Error loading RS jni library: java.lang.UnsatisfiedLinkError: Couldn't load rsjni: findLibrary returned null
Run Code Online (Sandbox Code Playgroud)
我没有使用任何Renderscript jar文件,我试图通过Gradle使用它.
这是我的Gradle.build文件
顶层
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
}
}
ext {
compileSdkVersion="Google Inc.:Google APIs:22"
buildToolsVersion="23.0.1"
playStoreMinSdkVersion=16
amazonStoreMinSdkVersion=8
targetSdkVersion=22
versionCode=20
versionName="3.3.0"
runProguard=true
zipAlign=true
proguardConfiguration='../proguard.config'
}
allprojects {
repositories {
jcenter()
}
}
Run Code Online (Sandbox Code Playgroud)
特定应用
defaultConfig {
applicationId "**REMOVED**"
//noinspection GroovyAssignabilityCheck
targetSdkVersion rootProject.ext.targetSdkVersion
//noinspection GroovyAssignabilityCheck
versionCode rootProject.ext.versionCode
//noinspection GroovyAssignabilityCheck
versionName rootProject.ext.versionName
renderscriptTargetApi 23
renderscriptSupportModeEnabled true
}
Run Code Online (Sandbox Code Playgroud)
我尝试并在stackoverflow上找到可能的解决方案的一切都无法正常工作.我也将这个包含在我的proguard配置中
#RenderScript
-keepclasseswithmembernames class * { …
Run Code Online (Sandbox Code Playgroud) android renderscript android-support-library android-gradle-plugin
XML布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:minHeight="48dp"
android:layout_height="48dp"
android:background="?attr/selectableItemBackground"
android:gravity="start|center_vertical"
android:orientation="horizontal"
android:paddingEnd="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingStart="16dp">
<ImageView
android:id="@+id/icon"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="32dp"
android:layout_marginRight="32dp" />
<RobotoTextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:gravity="start|center_vertical"
android:textSize="14sp"
app:typeface="roboto_medium"
android:textColor="@color/primary_text"/>
Run Code Online (Sandbox Code Playgroud)
这是我在recyclelerview中的行的布局,之前我使用过"?attr/selectableItemBackground"并且效果很好,但没有任何东西可以使这种涟漪效果起作用!有人有什么建议吗?
我有一个自定义视图类似于进度条.在这个视图中,我有一个ObjectAnimator.AnimatorUpdateListener,我试图用它来调用视图上的invalidate.但是,我的观点不是更新!我试图添加一个按钮,只是将值更改为其他内容并调用invalidate一次并且它工作,我的视图更新以反映值的变化.
我在这里错过了什么吗?我打电话的次数是无效的吗?
我的"进度条"以浮点数0开始,动画应该将其设置为100.调用方法将其更新为50并调用invalidate有效,但是ObjectAnimator似乎没有调用invalidate.
在UI线程上调用所有内容
我有一个SQLite数据库,它有一个整数列来存储unix时间戳,我需要能够在特定日期查询该列.
我正在寻找一种方法来返回给定日期开始和结束的Unix时间.做这个的最好方式是什么?