我正在画布上绘制一些文本,并且正在使用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)
所以; 如何将其对齐至底部,或获取已拆分成的行数?
我为iPhone做了一个应用程序,我使用的是UIStoryboard.
当应用程序启动时,我有一个看起来像这样的视图

当我按下Button1标签Code 2:并且textfield必须消失时我尝试了该setHidden方法
这就是发生的事情

但我想要发生的是这个

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

我得到的当前格式就像这样http://jsfiddle.net/aMLFE/
正在使用的css代码是
textarea { vertical-align: top; }
Run Code Online (Sandbox Code Playgroud)
请告诉我如何以图片中给出的格式定位标签..
我正在尝试使用可切换的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) 我有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改变颜色?
曾经有一段时间IE6缺乏对CSS功能的支持,例如"display:table-cell"和inline-block,导致"float"被劫持并用于布局 - 这是从未设计过的(或者特别擅长).
使用浮动似乎导致过于脆弱的布局难以维护,并且通常会随着动态内容的变化而完全破坏.
这是当时的一个必要的恶魔,但是现在对IE8之前的浏览器的支持不太重要了,理论上我们应该能够摆脱浮动并使用实际适用于布局的CSS部分 - 例如上述显示:table-cell和inline-block.
我目前正在考虑建议我的团队完全摆脱基于浮动的设计 - 我是否有把自己画到一个角落并遇到问题的风险,或者如果旧的浏览器支持对我们的项目不重要,这是一个更好的选择?
我的代码在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) 我必须为练习创建一个简单的计算.应该有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) 我有问题,如果我尝试用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) 我遇到了一些严重的奇怪情况.
我有一个代码如下:
- (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)
即使没有内部的任何动作,它完全混淆视图控制器的布局,使它看起来像这样:

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