当前位置: 首页 > 知识库问答 >
问题:

持久底页:滑动以展开问题

慕容俭
2023-03-14

我有一个CoordinatorLayout,包括一个LinearLayout作为我的底页。还有一个FrameLayout(也是CoordinatorLayout的直接子级)。

<?xml version="1.0" encoding="utf-8"?>
<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=".MainActivity">

<FrameLayout
    android:id="@+id/sketchViewGroup"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<LinearLayout
    android:id="@+id/bottomSheet"
    android:layout_width="match_parent"
    android:layout_height="340dp"
    android:background="@drawable/rounded_top"
    android:backgroundTint="@color/colorBottomSheetBackground"
    android:orientation="vertical"
    app:behavior_hideable="false"
    app:behavior_peekHeight="@dimen/bottomSheetPeekHeight"
    app:layout_behavior="android.support.design.widget.BottomSheetBehavior">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="@dimen/bottomSheetPeekHeight"
        android:gravity="center_vertical"
        android:orientation="horizontal">

        <SeekBar
            android:id="@+id/fixedPointsSeekBar"
            style="@style/Widget.AppCompat.SeekBar.Discrete"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginStart="16dp"
            android:layout_marginEnd="16dp"
            android:max="10"
            android:progress="10" />

    </LinearLayout>
</LinearLayout>

我使用processing.jar库在FrameLayout上绘制内容。

为此,我创建了一个片段(在Processing中称为PFragement),并通过SupportFragmentManager将其添加到FrameLayout中。PFragment采用一个PApplet作为构造函数。在PApplet中,画布绘制发生,宽度和高度也被定义。此外,我调整了PApplet的大小以填充我的框架布局。

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val sketch = Sketch();

        sketchViewGroup.post {
            sketch.sketchWidth = sketchViewGroup.width 
            sketch.sketchHeight = sketchViewGroup.height
            // this works:
            // sketch.sketchWidth = sketchViewGroup.width -1
            // sketch.sketchHeight = sketchViewGroup.height -1 
            supportFragmentManager.beginTransaction().add(sketchViewGroup.id, PFragment(sketch)).commit();
        }
    }
}
public class Sketch extends PApplet {

    int sketchWidth = 100;
    int sketchHeight = 100;

    public void settings() {
        size(sketchWidth, sketchHeight);
    }

    public void setup(){
        background(0);
    }
}

现在,一些复杂的事情正在发生:当我将草图调整到我的框架布局的大小时,我的底板不再适当地扩展。但是,如果我减去我的草图的尺寸之一,所有的工作都是预期的。有人能解释一下这个,告诉怎么修复这个吗?

sketch.sketchWidth = sketchViewGroup.width 
sketch.sketchHeight = sketchViewGroup.height

sketch.sketchWidth = sketchViewGroup.width -1
sketch.sketchHeight = sketchViewGroup.height -1 

共有1个答案

慕容嘉荣
2023-03-14

视图组的高度似乎是match_parent,即-1。减去1,得到-2,它等于wrap_content。所以我认为您只是将sketch对象的高度设置为wrap_content

 类似资料:
  • 其实相对于VIP的切换,动态修改持久化则是比较常见的一个需求,一般在一主多从多Sentinel的HA环境中,为了性能常常在Master上关闭持久化,而在Slave上开启持久化,但是如果发生切换就必须有人工干预才能实现这个功能。可以利用client-reconfig-script自动化该进程,无需人工守护,我们就以RDB的动态控制为例: Sentinel配置文件如下: sentinel client

  • 数据落盘问题的由来 这本质上是数据持久化问题,对于有些应用依赖持久化数据,比如应用自身产生的日志需要持久化存储的情况,需要保证容器里的数据不丢失,在Pod挂掉后,其他应用依然可以访问到这些数据,因此我们需要将数据持久化存储起来。 数据落盘问题解决方案 下面以一个应用的日志收集为例,该日志需要持久化收集到ElasticSearch集群中,如果不考虑数据丢失的情形,可以直接使用前面提到的应用日志收集一

  • 我想在我的应用程序中创建从下到上滚动的滑动菜单。我在活动的底部有一个按钮,当用户点击按钮时,菜单就会显示出来。当用户再次点击按钮时,菜单应该消失。用户还可以上下滑动以显示或消失菜单。 菜单可以像这个应用程序中的任何一个。做 请看下面的截图。你知道怎么做吗?你有什么建议吗?

  • 1.4.0 新增 滑动开关,用于切换 on/off 状态。 示例 基本用法 <cube-switch v-model="value"> Switch </cube-switch> export default { data() { return { value: true } } } value值true对应着 on 状态(开) ,value值false

  • 本文向大家介绍Flutter质感设计之持久底部面板,包括了Flutter质感设计之持久底部面板的使用技巧和注意事项,需要的朋友参考一下 持久性底部面板可以用于补充应用主要内容的信息,即使用户与应用程序的其他控件进行互动,也仍然可以看到持久的底部面板。可以使用Scaffold.showBottomSheet函数创建和显示持久性底部面板。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多

  • 如何在android应用程序中使用滑动滚动至底部?我试着用 但上述情况并没有起到任何作用。有人能给我推荐一些通用的解决方案吗?