zlgopen / awtk-linux-fb

awtk port for linux framebuffer
108 stars 49 forks source link

改用drm时的布局显示问题 #68

Open yuanyuanyuanquan opened 2 years ago

yuanyuanyuanquan commented 2 years ago

在采用drm时,在UI设计时遇到一个问题,在样式设计若采用相对定位布局时,发现其位置相对较宽,但是采用绝对定位时又没有这样的问题。是否之前有这样的问题,又或者有没有遇到这个额问题?望解答。

xianjimli commented 2 years ago

drm指的是linux下的Direct Rendering Manager吗? 如果是,drm与布局应该没关系。在PC上可以重现不?

xianjimli commented 2 years ago

麻烦贴一个最小可重现的 XML上来吧。谢谢

yuanyuanyuanquan commented 2 years ago

XML代码:

<window v-model="machine_status" style="dark" tr_text="machine_status"
        v-on:key_up_before_children:f1="{nothing, CloseWindow=true}"
        v-on:key_up_before_children:escape="{nothing, CloseWindow=true}"
        v-on:key_up_before_children:f4="{more}"
        move_focus_up_key="up" move_focus_down_key="down">
    <list_view x="7"  y="5" w="100%" h="100%" >
        <scroll_view name="column" x="0"  y="0" w="100%" h="100%">
            <list_item  w="95%" h="35" style="empty" focusable="true" focused="true"
                        children_layout="default(rows=1,s=4)" >
                <label w="20%" tr_text="status_ip" style="status_item_key"/>
                <label w="80%" v-data:text="{ip}" style="status_item_value"/>
            </list_item>
        </scroll_view>
    </list_view>
    <row x="1" y="bottom" w="100%" h="13%" children_layout="default(c=4,r=1,s=1)">
        <button tr_text="back" style="empty"/>
        <button  style="empty"/>
        <button  style="empty"/>
        <button tr_text="more" style="empty"/>
    </row>
</window>

最后的呈现结果: 效果图

改变其中list_item的w值的效果: 效果图2

yuanyuanyuanquan commented 2 years ago

在去年十月份的版本里,子控件的w x y这些位置参数都是基于父控件的位置信息决定的,都是相对值

xianjimli commented 2 years ago

我这里没有style文件,看不出了。你这样改一下试试:

  <list_view x="7"  y="5" w="100%" h="100%" >

改成

  <list_view x="0"  y="0" w="100%" h="100%" >
yuanyuanyuanquan commented 2 years ago

刚刚我发现了一个影响元素---scroll_view控件,在未使用scroll_view控件时,我们的UI可以正常显示,也可以采用百分比(均可以正常显示),但是在添加scroll_view控件后则造成了我们之前所遇到的情况。下图就是在未使用scroll_view控件和使用scroll_view控件的显示: 未使用scroll_view效果图 添加scroll_view效果图

我在查看了开发文档,似乎也没有错误是关于scroll_view控件的。去除掉scroll_view控件又会导致条目不能滚动。另外你所说的修改我也尝试了,并未生效。

xianjimli commented 2 years ago

list_item不要指定x/y/w(由list view layouter计算),h不能用百分比。你可以把list_item设置为透明色,然后在list item里放其它控件达到类似的效果。