在EXT JS中 如何定义树高度使它适应屏幕高度。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在EXT JS中 如何定义树高度使它适应屏幕高度。相关的知识,希望对你有一定的参考价值。

我在一个页面中定义了一个div
<div id="SBGLTreeDiv"></div>
然后定义一个树
var SBGLTree = new Ext.tree.TreePanel(
title : '设备管理',
renderTo : 'SBGLTreeDiv',
border: false, //面板边框
useArrows : true, // 箭头节点图标
root : SBGLRoot,
autoScroll : true,
frame : false,
columnWidth : .15,
animate : true// 是否动画显示
);
然后SBGLTree 高度 没有全屏填充,应该怎样设置自适应高度呢,
我程序中设置的布局方式是column列布局。 左侧为tree 右侧为grid表格,通过单击左侧树节点,右侧会显示不同的grid的表格。。
var viewport = new Ext.Viewport(
layout : 'column',
items : [ SBGLTree,SBJBXXGrid ,SBGZGrid]
);
已经说完了 ,EXt版本是3.4 版本 问一下怎么设置树的高度使他自适应屏幕 高度

建议你用border布局;
var viewport = new Ext.Viewport(
layout : \'border\',
items : [
new Ext.Container(region : "left",width : 240,split:true,items : SBGLTree),
new Ext.Container(region : "center",items : [SBJBXXGrid ,SBGZGrid])
]
);追问

因为要定义好几个grid表格 所以用border布局不合适,所以我才采用column布局

追答

再多grid用border布局也能搞定,思考下自己的设计

参考技术A width : 250,
height: Ext.getBody().getViewSize().height,

在 SwiftUI 中,如何增加按钮的高度?

【中文标题】在 SwiftUI 中,如何增加按钮的高度?【英文标题】:In SwiftUI, How do I increase the height of a button? 【发布时间】:2020-04-04 23:45:03 【问题描述】:

正如您在屏幕截图中看到的,按钮高度没有调整到适合文本大小,使它看起来很丑。我怎样才能增加按钮的高度,所以它看起来并不愚蠢。我的问题是,如何增加 SwiftUI 中按钮的高度?我正在尝试制作类似于 Minecraft 的游戏的标题屏幕。

struct ContentView: View 
var body: some View 
    GeometryReader  geometry in
        VStack (spacing: 8) 
            Text("[Name not disclosed]Craft").font(.system(size: geometry.size.width/8))
            Button(action: 
                
            ) 
                Text("Singleplayer").font(.system(size: geometry.size.width/20))
                    .frame(minWidth: geometry.size.width/2)
            
            Button(action: 
                
            ) 
                Text("Multiplayer").font(.system(size: geometry.size.width/20))
                    .frame(minWidth: geometry.size.width/2)
            
            HStack (spacing: 8) 
                Button(action: 
                    
                ) 
                    Text("Options").font(.system(size: geometry.size.width/20))
                        .frame(minWidth: (geometry.size.width/4)-16)
                
                Button(action: 
                    exit(EXIT_SUCCESS);
                ) 
                    Text("Quit Game").font(.system(size: geometry.size.width/20))
                        .frame(minWidth: (geometry.size.width/4)-16)
                
            
        
    

【问题讨论】:

见:appcoda.com/swiftui-buttons 在此处查看有关如何创建自定义按钮样式的答案:***.com/questions/58419161/… 【参考方案1】:

请尝试以下代码:

Button(action: 
       //do action       
) 
    Text("SIGN IN")
        .frame(width: 200 , height: 50, alignment: .center)
        //You need to change height & width as per your requirement

 .background(Color.blue)
 .foregroundColor(Color.white)
 .cornerRadius(5)

输出

【讨论】:

【参考方案2】:

如果您只需要 Button 的标题,请使用更简单的初始化程序:

Button("Click me") 
    // Perform action here

.frame(width: 100, height: 100)
.background(Color.yellow)

请注意 frame 修饰符必须位于 background 之前以使其看起来更大。否则,你看不出区别。

【讨论】:

非常感谢,你拯救了我的一天,你的“注意”部分创造了奇迹! 这种方法的问题是只有文本可以点击,整个黄色背景不是。【参考方案3】:

你只需要设置PlainButtonStyle并按照你的意愿绘制...

例如,这是您的一个按钮:

Button(action: 

) 
    Text("Singleplayer").font(.system(size: geometry.size.width/20))
        .padding()
        .background(RoundedRectangle(cornerRadius: 8).fill(Color.blue))
        .frame(minWidth: geometry.size.width/2)

.buttonStyle(PlainButtonStyle())

【讨论】:

如上所述,框架修饰符应该在背景修饰符之前,否则蓝色不会填满整个框架【参考方案4】:

你需要改变栈的高度

struct ContentView: View 

   @State private var arr = ["String"]

    var body: some View 

         GeometryReader  geometry in
                VStack (spacing: 8) 
                    Text("[Name not disclosed]Craft").font(.system(size: geometry.size.width/8))
                    Button(action: 

                    ) 
                        Text("Singleplayer").font(.system(size: geometry.size.width/20))
                            .frame(minWidth: geometry.size.width/2)
                    
                    Button(action: 

                    ) 
                        Text("Multiplayer").font(.system(size: geometry.size.width/20))
                            .frame(minWidth: geometry.size.width/2)
                    
                    HStack (spacing: 8) 
                        Button(action: 

                        ) 
                            Text("Options").font(.system(size: geometry.size.width/20))
                                .frame(minWidth: (geometry.size.width/4)-16)
                        
                        Button(action: 
                            exit(EXIT_SUCCESS);
                        ) 
                            Text("Quit Game").font(.system(size: geometry.size.width/20))
                                .frame(minWidth: (geometry.size.width/4)-16)
                            
                     .frame(width: 100, height: 100, alignment: .leading) .background(Color.red)
                
            
    

【讨论】:

这里的几何是什么?

以上是关于在EXT JS中 如何定义树高度使它适应屏幕高度。的主要内容,如果未能解决你的问题,请参考以下文章

css 怎样定义屏幕高度的一半

DIV CSS 如何让网页中的某DIV自动适应屏幕高度自己变如下图

css外层高度600px,里面div如何自适应填满高度?

小程序自定义组件如何自适应高度

如何将面板的高度绑定到 Ext Js 中的视口高度?

如何让网页自适应所有屏幕宽度