标签: layout

获取行数StaticLayout会将文本拆分为

我正在画布上绘制一些文本,并且正在使用StaticLayout在屏幕上包装文本。我想对齐文本,以使文本的底部位于屏幕的底部。

为此,我需要知道StaticLayout将文本包装成多少行,因此我可以将其乘以字体大小,并将其与组件的高度偏移很多。

这是我的StaticLayout:

main = new TextPaint();
main.setTextSize(textSize);
main.setColor(Color.WHITE);
bottomText = new StaticLayout("Long text that requires wrapping.", main, getWidth(), Layout.Alignment.ALIGN_CENTER, 1f, 1.0f, false);
Run Code Online (Sandbox Code Playgroud)

我通过翻译画布来向下移动它:

canvas.translate(0, getHeight() / 2);
bottomText.draw(canvas);
canvas.restore();
Run Code Online (Sandbox Code Playgroud)

所以; 如何将其对齐至底部,或获取已拆分成的行数?

layout android android-canvas

0
推荐指数
1
解决办法
1996
查看次数

如何更改布局视图控制器?

我为iPhone做了一个应用程序,我使用的是UIStoryboard.

当应用程序启动时,我有一个看起来像这样的视图

在此输入图像描述

当我按下Button1标签Code 2:并且textfield必须消失时我尝试了该setHidden方法

这就是发生的事情

在此输入图像描述

但我想要发生的是这个

在此输入图像描述

我该怎么办?

iphone layout uiviewcontroller ios

0
推荐指数
1
解决办法
117
查看次数

位置标签位于文本区域的顶部

我想以此图片中显示的格式将标签放在html区域的顶部.我使用的是垂直对齐属性,但标签位于文本区域的左侧

所需的格式

我得到的当前格式就像这样http://jsfiddle.net/aMLFE/

正在使用的css代码是

textarea { vertical-align: top; }
Run Code Online (Sandbox Code Playgroud)

请告诉我如何以图片中给出的格式定位标签..

html css forms layout

0
推荐指数
1
解决办法
4万
查看次数

三列css布局+ Togglable一个

我正在尝试使用可切换的css在css中创建3列布局.以下方案应该比文字更好地解释它. 在此输入图像描述

我希望3列是全高的.

  • 红色:静态宽度列
  • 绿色:可切换的菜单
  • 深绿色:切换后的菜单
  • 白色:主要容器应该填充页面的其余部分

我尝试使用以下代码执行此操作但没有成功:

<div id="header"></div>
<div id="inline_container">
    <div id="left_menu"></div>
    <div id="toggle_menu"></div>
    <div id="main_container"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

并使用此css代码:

* {margin: 0; padding: 0;}
.body {height: 100%; width: 100%;}
#header {height: 70px; width: 100%;}
#inline_container {height: 95%; width: 100%;}
#left_menu {height: 100%; width: 80px; display: inline-block; float: left;}
#toggle_menu {height: 100%; width: 150px; display: inline-block; float: left;}
#main_container {height: 100%; width: 100%; display: inline-block; float: left;}
Run Code Online (Sandbox Code Playgroud)

html css layout

0
推荐指数
1
解决办法
97
查看次数

当悬停在主div上时,使另外两个div改变颜色

我有3个div.当我将鼠标悬停在"主要"/"第一"div上时,我想改变其中2个div中的一些东西.我真的,真的试图避免使用Javascript/jQuery,这里.

我很确定这可以做到,我依旧记得刚才读到这篇文章,但我再也找不到这个链接而且之前的搜索没有帮助,可能是因为我可能没有使用正确的术语.

这是代码:HTML:

<div id=one></div>
<div id=two></div>
<div id=three></div>
Run Code Online (Sandbox Code Playgroud)

CSS:

#one{background-color:blue;width:50px;height:50px;float:left;}
#two{background-color:green;width:50px;height:50px;float:left;}
#three{background-color:red;width:50px;height:50px;float:right;}

#one:hover > #two + #three { background-color: yellow; }
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?当我将鼠标悬停在第一个div上时,如何让其他两个 div改变颜色?

html css layout html5 css3

0
推荐指数
1
解决办法
4305
查看次数

现代浏览器是否还需要基于浮动的布局?

曾经有一段时间IE6缺乏对CSS功能的支持,例如"display:table-cell"和inline-block,导致"float"被劫持并用于布局 - 这是从未设计过的(或者特别擅长).

使用浮动似乎导致过于脆弱的布局难以维护,并且通常会随着动态内容的变化而完全破坏.

这是当时的一个必要的恶魔,但是现在对IE8之前的浏览器的支持不太重要了,理论上我们应该能够摆脱浮动并使用实际适用于布局的CSS部分 - 例如上述显示:table-cell和inline-block.

我目前正在考虑建议我的团队完全摆脱基于浮动的设计 - 我是否有把自己画到一个角落并遇到问题的风险,或者如果旧的浏览器支持对我们的项目不重要,这是一个更好的选择?

css layout html5 css-float

0
推荐指数
1
解决办法
1003
查看次数

如何显示屏幕的进度栏中心

我的代码在listview的顶部显示空间(见左图).如果我删除android:gravity="center"它然后将正确显示(见右图)

在此输入图像描述 在此输入图像描述

但ProgressBar不显示在屏幕中央,它显示在屏幕左侧.

<LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">

    <ListView 
        android:id="@+id/listCategory2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:fadeScrollbars="true"
        android:fastScrollEnabled="true"
        android:divider="@color/background"
        android:dividerHeight="1dp"
        android:visibility="gone"
        android:background="@drawable/border9" 
        android:listSelector="@drawable/listview_selector" />

    <ProgressBar 
        android:id="@+id/prgLoading"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        style="@android:style/Widget.ProgressBar.Inverse"
        android:layout_centerInParent="true" />

    <TextView 
        android:id="@+id/txtAlert"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/alert"
        android:textColor="@color/text"
        android:textSize="14sp"
        android:layout_centerInParent="true"
        android:visibility="gone" />

       </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

layout android

0
推荐指数
1
解决办法
1万
查看次数

java计算器文本字段

我必须为练习创建一个简单的计算.应该有4个按钮和一个文本字段作为显示.这是我的4个按钮的代码:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class JFrameExample {

  JButton btn1 = new JButton("1");
  JButton btn2 = new JButton("2");
  JButton btn3 = new JButton("+");
  JButton btn4 = new JButton("=");

  public void calculator(){
    JFrame frame = new JFrame("SIMPLE JAVA CALCULATOR");
    frame.setSize(320,320);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setResizable(false);
    frame.setVisible(true);

    JPanel HeadPanel = new JPanel();
    JPanel NumberPanel = new JPanel();
    JPanel LabelPanel = new JPanel();

    NumberPanel.add(btn1);  
    NumberPanel.add(btn2);
    NumberPanel.add(btn3);
    NumberPanel.add(btn4);

    NumberPanel.setLayout(new GridLayout(2,2));
    frame.add(NumberPanel,BorderLayout.CENTER);
  }

  public static void main(String[] args) {
    JFrameExample jf = new JFrameExample();
    jf.calculator();
  } …
Run Code Online (Sandbox Code Playgroud)

java layout swing jbutton jtextfield

0
推荐指数
1
解决办法
2995
查看次数

LinearLayout的宽度和高度为零

我有问题,如果我尝试用LinearLayout.getWidth()和得到我的高度和宽度,LinearLayout.getHeight()我得到的int是0.

这是我的onCreat:

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    View mainView = getLayoutInflater().inflate(R.layout.activity_game, null);
    LinearLayout container = (LinearLayout) mainView.findViewById(R.id.container);
    view = new GameLayout(this, container.getWidth(), container.getHeight());
    container.addView(view);
    setContentView(mainView);       
    view.setOnClickListener(this);
}
Run Code Online (Sandbox Code Playgroud)

如果您有任何想法,我做错了什么,请帮忙.

我需要这个来获取布局的大小,因为我想要将我的位图放在每个设备上相同的百分比位置(例如每次都在屏幕的正中心).

编辑:

解:

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    View mainView = getLayoutInflater().inflate(R.layout.activity_game, null);
    final LinearLayout container = (LinearLayout) mainView.findViewById(R.id.container);
    mainView.post(new Runnable() 
    {
        @Override
        public void run() 
        {
            view = new GameLayout(GameActivity.this, container.getWidth(), container.getHeight());
            container.addView(view);
            view.setOnClickListener(GameActivity.this);
        }
    } );

    setContentView(mainView);   
}
Run Code Online (Sandbox Code Playgroud)

layout android

0
推荐指数
1
解决办法
4820
查看次数

viewDidAppear存在于代码混乱布局中

我遇到了一些严重的奇怪情况.

我有一个代码如下:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    return self;
}

- (void)viewDidLoad {
    [super viewDidLoad];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning]; 
}
Run Code Online (Sandbox Code Playgroud)

视图控制器看起来像这样: 好的状态

奇怪的是,当我只是添加

- (void)viewDidAppear:(BOOL)animated {
}
Run Code Online (Sandbox Code Playgroud)

即使没有内部的任何动作,它完全混淆视图控制器的布局,使它看起来像这样: KO州

我没有添加任何其他代码行,然后只为viewDidAppear清空标题.删除后,布局正常.到底发生了什么事?

layout objective-c viewdidappear ios

0
推荐指数
1
解决办法
141
查看次数