我尝试使用方形图像制作网格布局.我认为必须有可能GridLayoutManager
通过操纵onMeasure
来操纵
super.onMeasure(recycler, state, widthSpec, widthSpec);
Run Code Online (Sandbox Code Playgroud)
代替
super.onMeasure(recycler, state, widthSpec, heightSpec);
Run Code Online (Sandbox Code Playgroud)
但不幸的是,这没有用.
有任何想法吗?
我想了解细节RxJava
.
直觉上我期望first()
并且take(1)
平等并且做同样的事情.但是通过挖掘源代码first()
定义为take(1).single()
.
这有什么single()
用?还不take(1)
保证输出单个项目吗?
我RecyclerView
用来显示一个包含的列表imageView
.为了使UI更流畅,我将保存在SD卡上的58dp缩略图加载到这些imageViews中asyncTask
.
问题是,一旦childView
进入可视化显示,来自另一个数据的旧图像被重用,然后在AsyncTask
完成后被替换.我可以通过将imageView
位图设置为null 来停止改组onPreExecute
.
有没有办法真正重复使用旧图像,或者我真的必须在每次新View
的到位时从SD卡加载图像?这使得视图非常难看,因为首先存在错误的图像或者图像是纯白色的.
我尝试使用支持库23.2.0中的新底页将底页扩展为全屏,如设计指南中所建议的那样
这个效果非常好,但是底页位于我的ActionBar和我的标签下.
怎么可以让底页超过工具栏?我的菜单结构如下:
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/appbar_padding_top">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|snap|enterAlways"
app:popupTheme="@style/AppTheme.PopupOverlay"/>
<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:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
<include
android:id="@+id/playerLayout"
layout="@layout/player_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:behavior_peekHeight="?attr/actionBarSize"
app:layout_behavior="@string/bottom_sheet_behavior"
app:model="@{model}"/>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
android android-support-library material-design androiddesignsupport
在遵循张量流图像分类教程时,首先它会缓存每个图像的瓶颈:
我用tensorflow重写了训练Estimator
.这真的简化了所有代码.但是我想在这里缓存瓶颈功能.
这是我的model_fn
.我想缓存dense
图层的结果,这样我就可以对实际的培训进行更改,而不必每次都计算瓶颈.
我怎么能做到这一点?
def model_fn(features, labels, mode, params):
is_training = mode == tf.estimator.ModeKeys.TRAIN
num_classes = len(params['label_vocab'])
module = hub.Module(params['module_spec'], trainable=is_training and params['train_module'])
bottleneck_tensor = module(features['image'])
with tf.name_scope('final_retrain_ops'):
logits = tf.layers.dense(bottleneck_tensor, units=num_classes, trainable=is_training) # save this?
def train_op_fn(loss):
optimizer = tf.train.AdamOptimizer()
return optimizer.minimize(loss, global_step=tf.train.get_global_step())
head = tf.contrib.estimator.multi_class_head(n_classes=num_classes, label_vocabulary=params['label_vocab'])
return head.create_estimator_spec(
features, mode, logits, labels, train_op_fn=train_op_fn
)
Run Code Online (Sandbox Code Playgroud) 为什么RxJava需要asObservable
?
从技术上讲,每个主题已经是一个Observable.它的优点是什么,而不仅仅是铸造它
Observable obs = subject;
Run Code Online (Sandbox Code Playgroud) 我有一些理解RecyclerView
s的问题SortedList
.
假设我有一个非常简单的类,只有一个非常简单的类保存数据:
public class Pojo {
public final int id;
public final char aChar;
public Pojo(int id, char aChar) {
this.id = id;
this.aChar = aChar;
}
@Override
public String toString() {
return "Pojo[" + "id=" + id
+ ",aChar=" + aChar
+ "]";
}
}
Run Code Online (Sandbox Code Playgroud)
我的理解是排序列表不包含任何重复项.
但是当我有一个带有这样的回调的SortedList时:
....
@Override
public boolean areContentsTheSame(Pojo oldItem, Pojo newItem) {
return oldItem.aChar == newItem.aChar;
}
@Override
public int compare(Pojo o1, Pojo o2) {
return Character.compare(o1.aChar, o2.aChar);
}
@Override
public …
Run Code Online (Sandbox Code Playgroud) 我有一个A
实现Parcelable 的抽象类.
我有一个班级B
和一个班级C
都延伸A
.我怎样才能使它们变得可以分辨?
因为我可以链接它并在许多帖子中提供CREATOR
in A
和B
like之类的建议.但由于我有其他对象存储A-B-C
类并实现Parcelable自己,这种方法似乎不起作用,因为当我想传递一个ArrayList时,A
我将不得不CREATOR
在类型列表中使用
ArrayList<A> elements = new ArrayList<>();
in.readTypedList(elements , B.CREATOR); // B.CREATOR? C.CREATOR???
Run Code Online (Sandbox Code Playgroud)
这显然没有意义.那么我怎样才能正确制作A Parcelable?
即我想使这个类Parcelable所以我可以以一种常见的方式引用A.
一个)
public abstract class A implements Parcelable {
final String globalVar;
public A(String globalVar) {
this.globalVar = globalVar;
}
}
Run Code Online (Sandbox Code Playgroud)
B)
public class B extends A {
String bVar;
public B(String global, String bVar) {
super(global);
this.bVar = bVar;
}
private B(Parcel …
Run Code Online (Sandbox Code Playgroud) 我已经实现了一个RecyclerView
,我已将其设置为使用CAB
.但是,如何突出显示所选项目?如果某个位置我检查了我存储在一个SparseBooleanArray
.我的第一个想法是存储特定的View
包含我的所有元素ViewHolder
然后以onBindViewHolder
某种方式设置背景:?android:attr/activatedBackgroundIndicator
但我怎么能这样做?这是一种有用的方法吗?
我正在使用android并遍历数百个mediafile,以找到第一张嵌入式图片,效果很好,但在我的logcat中却发了很多错误。
我正在使用此代码:
for (String s : ArrayList <String> paths){
MediaMetadataRetriever mmr = new MediaMetadataRetriever();
mmr.setDataSource(path);
byte[] data = mmr.getEmbeddedPicture();
if (data != null) {
...
}
Run Code Online (Sandbox Code Playgroud)
它记录的错误是:
E/MediaMetadataRetrieverJNI? getEmbeddedPicture: Call to getEmbeddedPicture failed.
E/MediaMetadataRetrieverJNI? getEmbeddedPicture: Call to getEmbeddedPicture failed.
E/MediaMetadataRetrieverJNI? getEmbeddedPicture: Call to getEmbeddedPicture failed.
E/MediaMetadataRetrieverJNI? getEmbeddedPicture: Call to getEmbeddedPicture failed.
E/MediaMetadataRetrieverJNI? getEmbeddedPicture: Call to getEmbeddedPicture failed.
E/MediaMetadataRetrieverJNI? getEmbeddedPicture: Call to getEmbeddedPicture failed.
.....
Run Code Online (Sandbox Code Playgroud)
我使用的对吗?如果可以,则可以抑制该错误,这会使调试变得烦人。根据MediaMetadataRetriever,它应该简单地返回null
android ×7
java ×4
rx-java ×2
cab ×1
inheritance ×1
parcelable ×1
python ×1
sortedlist ×1
tensorflow ×1