我试图同时使用AppBarLayout,并BottomNavigationLayout在一个单一的CoordinatorLayout,我有隐藏的困难BottomNavigationLayout所要求的材料方针.
我的意思是这样的:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="false">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_insetEdge="top"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/AppTheme.PopupOverlay"
app:layout_scrollFlags="scroll|enterAlways"/>
</android.support.design.widget.AppBarLayout>
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_nav"
android:layout_width="match_parent"
android:layout_height="56dp"
android:layout_gravity="bottom"
app:menu="@menu/menu_bottom_navigation"/>
<FrameLayout
android:id="@+id/content_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
如您所见,我还有一个FrameLayout用于包含实际内容的片段.目前,没有默认/内置行为BottomNavigationView- 既不是视图本身,也不是其兄弟姐妹.现有appbar_scrolling_view_behavior处理与appbar协调处理内容视图但忽略其他兄弟.
我正在寻找一种隐藏的方法,并在滚动时显示appbar和底部导航视图.
android android-layout android-coordinatorlayout bottomnavigationview
我正在阅读《Rust 编程语言》一书,我偶然发现了一个简单的表达式:
let guess: u32 = match guess.trim().parse() {
Ok(num) => num,
Err(_) => continue,
};
Run Code Online (Sandbox Code Playgroud)
它的手臂如何match处理不同的表情?例如,第一个臂将简单地“返回”,num以便将其分配给,guess但在第二个臂中,表达式只是continue。如何match处理它并且不“分配”continue而是guess执行它?整个赋值表达式本身会发生什么?它是否从调用堆栈中删除(如果这是正确的术语)?
我看到一些 github 评论说 model() 调用的损失的输出是困惑的形式:https : //github.com/huggingface/transformers/issues/473
但是当我查看相关代码时... https://huggingface.co/transformers/_modules/transformers/modeling_openai.html#OpenAIGPTLMHeadModel.forward
if labels is not None:
# Shift so that tokens < n predict n
shift_logits = lm_logits[..., :-1, :].contiguous()
shift_labels = labels[..., 1:].contiguous()
# Flatten the tokens
loss_fct = CrossEntropyLoss()
loss = loss_fct(shift_logits.view(-1, shift_logits.size(-1)), shift_labels.view(-1))
outputs = (loss,) + outputs
return outputs # (loss), lm_logits, (all hidden states), (all attentions)
Run Code Online (Sandbox Code Playgroud)
我看到正在计算交叉熵,但没有转换为困惑。损失最终在哪里转化?或者是否已经存在我不理解的转变?
我可以用Java编写
int i = 10;
String s = i==10 ? "Ten" : "Empty";
Run Code Online (Sandbox Code Playgroud)
即使我可以在方法参数中传递它。
callSomeMethod(i==10 ? "Ten" : "Empty");
Run Code Online (Sandbox Code Playgroud)
如何将其转换为Kotlin?在Kotlin中编写相同内容时,Lint显示错误。
我知道,如果我想创建一个新行,我必须在\n需要创建该行的任何位置插入。但我得到的是没有我在 firebase 数据库中已有的行的文本。有人可以告诉我如何解决这个问题吗?例如,如果我在数据库中有 hello \n world。我明白hello world了 当我真的应该得到它时
hello
world
Run Code Online (Sandbox Code Playgroud)
我需要更改 firebase 或源代码中的某些内容吗?
这就是我从 firebase 获取数据的方式
private void getData(){
firebaseDatabaseInstance = FirebaseDatabase.getInstance();
// get reference to 'users' node
booksInstance = firebaseDatabaseInstance.getReference("monzmat");
books.clear();
books.addAll(db.getAllBookMonzmat());
adapter = new qamoosAdapter(this, books);
gridView.setAdapter(adapter);
booksInstance.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
storeData(dataSnapshot);
}
@Override
public void onCancelled(DatabaseError error) {
// Failed to read value
Log.w(TAG, "Failed to read value.", error.toException());
}
});
booksInstance.orderByChild("id").addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot …Run Code Online (Sandbox Code Playgroud)