标签: layout

如何使我的布局能够向下滚动?

我无法向下滚动屏幕以查看"回复者:"部分中的数据.如何使我的布局可滚动?

替代文字

layout android

77
推荐指数
2
解决办法
19万
查看次数

FrameLayout中的Android中心视图不起作用

我有一个FrameLayout,其中我有2个控件: - 一个自定义视图,在其上绘制图像和一些文本 - 带有文本的textview

我想在FrameLayout中居中,但我无法做到.Texview的中心很好,当我看到它时,我的视图仍然在左侧.

<FrameLayout android:id="@+id/CompassMap"
               android:layout_width="fill_parent" 
               android:layout_height="wrap_content"
               android:layout_weight="1"
               android:gravity="center">

             <view class="com.MyView"
        android:id="@+id/myView"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|center_horizontal"
        android:visibility="gone"/>

                <TextView android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|center_horizontal"
        android:text="CENTERED" /> 
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

对Mathias来说,我在构造函数中没有做任何事情,这很简单

   public class MyMapView extends View {

private int xPos = 0; 
private int yPos = 0;
private Bitmap trackMap;

private Matrix backgroundMatrix;
private Paint backgroundPaint;

private Bitmap position;
private Matrix positionMatrix;
private Paint positionPaint;

public MyMapView(Context context) {
    super(context);
    init(context, null);
}

public MyMapView(Context context, AttributeSet attrs) {
    super(context, attrs);
    init(context, attrs);
} …
Run Code Online (Sandbox Code Playgroud)

layout android gravity

74
推荐指数
3
解决办法
9万
查看次数

Android:如何对齐底部的按钮和上面的listview?

我想在列表视图的底部有一个按钮.

如果我使用relativeLayout/FrameLayout,它会对齐,但listView会变得非常紧张.

(在底部的按钮后面)

在此输入图像描述

的FrameLayout:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <ListView
        android:id="@+id/listview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />
    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_alignParentBottom="true">
        <Button
            android:id="@+id/btnButton"
            android:text="Hello"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom" />
    </FrameLayout>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

RelativeLayout的:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <ListView
        android:id="@+id/listview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true">
        <Button
            android:id="@+id/btnButton"
            android:text="Hello"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom" />
    </RelativeLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

以上两个代码只能像第一张图像一样工作.我想要的是第二张图片.

有人可以帮忙吗?

谢谢.

layout android listview alignment

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

Android XML布局中<merge>和<include>用法的简单示例

我对Android XML布局中的标签<merge><include>标签感到好奇.我已经阅读了两个教程,但还没有找到一个简单的示例用法.

如果有人可以提供这样的例子或给出一个指针,那将会很高兴.

xml merge layout android include

73
推荐指数
3
解决办法
6万
查看次数

防止内联块div包装

jsFiddle演示

我希望divs:

  • 包装他们的内容,和
  • 留在他们最初的关联线,基本上没有包装.

基本上,当桌子不能停留在屏幕上时,桌子会堆叠在彼此之下.我宁愿它们隐藏在屏幕之外.

我试过添加div到主要的布局样式.我不想为每个div修复宽度.它需要适合内容.

.layout {
  -moz-border-radius: 15px;
  border-radius: 15px;
  vertical-align: top;
  display: inline-block;
}

.layoutbacking {
  -moz-border-radius: 15px;
  border-radius: 15px;
  padding: 5px;
  margin: 5px;
  background: #CCCCCC;
}
Run Code Online (Sandbox Code Playgroud)
<div class="layout" style="background: #222222; width: 100%">
  <div>
    <div class="layout layoutbacking">
      <table>
        <tr>
          <th>header 1</th>
          <th>header 2</th>
          <th>header 3</th>
          <th>header 4</th>
        </tr>
        <tr>
          <td>data 1</td>
          <td>data 2</td>
          <td>data 3</td>
          <td>data 4</td>
        </tr>
        <tr>
          <td>data 1</td>
          <td>data 2</td>
          <td>data 3</td>
          <td>data 4</td>
        </tr>
        <tr>
          <td>data 1</td>
          <td>data 2</td>
          <td>data …
Run Code Online (Sandbox Code Playgroud)

html css layout

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

如何使div包含两个浮点div?

我不知道这是否是一个常见的问题,但到目前为止我无法在网络上找到解决方案.我想在另一个div中包含两个div,但是这里面的两个div必须对齐相同的级别(例如:left one占用wrappedDiv的20%宽度,右边一个占80%).为了达到这个目的,我使用了以下示例CSS.但是,现在换行DIV并没有包装所有div.包裹Div的高度小于内部包含的两个div.我怎么能确保包装Div具有最大的高度作为包含的div?谢谢!!!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <title>liquid test</title>
    <style type="text/css" media="screen">
        body
        {
            margin: 0;
            padding: 0;
            height:100%;
        }
        #nav
        {
            float: left;
            width: 25%;
            height: 150px;
            background-color: #999;
            margin-bottom: 10px;
        }

        #content
        {
            float: left;
            margin-left: 1%;
            width: 65%;
            height: 150px;
            background-color: #999;
            margin-bottom: 10px;
        }       
        #wrap
        {
          background-color:#DDD;
          height:100%;
        }

</style>
</head>
<body>
<div id="wrap">
    <h1>wrap1 </h1>
    <div id="nav"></div>
    <div id="content"><a href="index.htm">&lt; Back to article</a></div>
</div>
</body> …
Run Code Online (Sandbox Code Playgroud)

html css layout css-float

72
推荐指数
4
解决办法
12万
查看次数

Android ImageView尺寸未按源图像缩放

我在LinearLayout中有一些ImageView.我需要缩小ImageViews,以便它们保持纵横比,同时垂直安装在LinearLayout内部.水平地,我只需要它们彼此相邻.

我为此制作了一个简化的测试床,它嵌套了加权的布局,这样我就可以为ImageViews提供一个宽但不高的LinearLayout -

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">
    <LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="5">
        <LinearLayout android:id="@+id/linearLayout3" android:layout_height="fill_parent" android:layout_width="fill_parent" android:layout_weight="1">
            <ImageView android:id="@+id/imageView1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/test_image" android:scaleType="fitStart"></ImageView>
            <ImageView android:id="@+id/imageView2" android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/test_image" android:scaleType="fitStart"></ImageView>
        </LinearLayout>
        <LinearLayout android:id="@+id/linearLayout4" android:layout_height="fill_parent" android:layout_width="fill_parent" android:layout_weight="1"></LinearLayout>
    </LinearLayout>
    <LinearLayout android:id="@+id/linearLayout2" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"></LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

(在Eclipse布局编辑器中,图像被垂直剪切而根本没有缩放 - 但这只是我们学会爱的那些特性之一)

在硬件上运行时,图像会缩放到正确的高度,同时保留其纵横比.我的问题是他们不是彼此相邻的.每个ImageView的高度正确匹配LinearLayout的高度.每个ImageView的宽度是未缩放图像的宽度 - 实际按比例缩小的图像出现在其ImageView的左侧.因此,我在图像之间会有很大的差距.

理想情况下,我想通过XML来管理这个,如果这是不可能的,我理解使用自定义视图可能是最好的解决方案.

我尝试创建一个IconView(扩展ImageView)类来覆盖onMeasure,这样我就可以通过根据高度缩放宽度来创建所需大小的图像视图.但是传递给函数的parentWidth和parentHeight是屏幕的尺寸而不是LinearLayout容器的尺寸.

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
  int parentWidth = MeasureSpec.getSize(widthMeasureSpec);
  int parentHeight = MeasureSpec.getSize(heightMeasureSpec);
  // Calculations followed by calls to setMeasuredDimension, setLayoutParams
  super.onMeasure(widthMeasureSpec, heightMeasureSpec); …
Run Code Online (Sandbox Code Playgroud)

formatting layout android custom-view imageview

72
推荐指数
3
解决办法
8万
查看次数

你会怎么做:表或CSS?

益智http://sontag.ca/TheChallenge/tiles.gif 格林奇http://sontag.ca/gif/grinch.gif

第一部分

这种布局可以通过2个HTML表格完成,一个嵌套在另一个HTML表格中,甚至可以使用单个表格.

它也可以用CSS完成,虽然它可能需要更多的思考.

这可能不是真实的世界布局,但我看到的页面相似.认为这是一个谜语; 锻炼来增强你的CSS技能.

为了让事情更有趣,我在一个名为The Challenge的小部分网页中提出了这个问题.我们将检查代码和问题:使用表格或CSS进行布局?当我们的两个对手争夺代码至上时,并排,一个接一个地吹嘘.

第一部分阐述了挑战是如何形成的.我希望你喜欢.

第二部分是决定. 你可能会感到惊讶.


第二部分

我很高兴看到我发布后几分钟内出现了真正好的答案.这是一次令人羞愧的经历.我不想与你竞争时间.

但是,所有这些,在仔细研究所提供的解决方案之后,我逐渐意识到,所有CSS解决方案(包括我自己的解决方案)都没有提供任何表解决方案.挑战是关于CSS比任何布局解决方案的表更好.

所以我添加了3条新规则(请记住,其中一条规则是可以更改规则).这让一些人很生气.因此,我添加了一些关于规则改变原因的丰富多彩的解释.我觉得这让他们更恼火了.

  1. 我们的花园周围有围栏; 将它与其可能发现的任何沉闷环境区分开来的东西; 并不太贵,但易于保持清洁.所以我希望花园周围有一个1像素的黑色边框
  2. 每个花园地块(人物)的居民必须是黑人或白人,这取决于他们在花园中最好的情况.他们也都是草书血统.他们没有斜体.;-)
  3. 花园是可重新定位的,也就是说,我可以在页面的任何地方都有这个花园(没有绝对定位).

这是最终输出的样子(背景颜色可选):

alt text http://sontag.ca/gif/garden.gif

我对反复无常的最后一刻规则的变化表示道歉.我错了.每个花园地块的居民都是工匠,手工制作的专家.他们是草书家族的后代,他们的风格归功于斜体.

花园必须是可重新定位的,因为两种花园(桌子和CSS)需要在同一页面上共存.我可能错误地说position:absolute不允许使用规则.如果你能让他们在这种情况下工作,那么你就会有更大的力量.他们肯定会被接受.

我要求在地块周围设置围栏,因为每个花园类型都将种植在一个橙色背景的乡村,非常类似于我们种植的一些花的颜色.

我现在住在荷兰,郁金香季节快到了.如果你在接下来的几个星期里飞过荷兰,这是一个晴朗的日子(这里很少见),你下面的景观看起来就像这个愚蠢的运动.

我并不为橙色而疯狂,但我喜欢和欣赏荷兰人,所以这就是为什么我们有橙色的背景,向我的东道国致敬.:-)


第三部分

我已经在下面的挑战中发布了Ted的表格答案以及这张图片

alt text http://sontag.ca/gif/garden2.gif

因为占用者可以很容易地添加到花园地块而不触及CSS规则 - 一切都自动居中.

你能用 CSS 做到这一点吗?你可以用鲱鱼砍下森林里最强大的树吗?


更新:查理的答案就在这里.

css xhtml layout html-table

71
推荐指数
5
解决办法
4443
查看次数

你如何为ImageView设置LayoutParams()?

我想设置LayoutParams一个,ImageView但似乎无法找到正确的方法来做到这一点.

我只能在API中找到各种文档ViewGroups,但不是ImageView.但ImageView似乎有这个功能.

这段代码不起作用......

myImageView.setLayoutParams(new ImageView.LayoutParams(30,30));
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

layout android imageview

71
推荐指数
4
解决办法
14万
查看次数

如何使用Cocoa Auto Layout窗口调整自定义视图的大小?

我有一个窗口,其中包含一个自定义视图,我希望自定义视图可以随窗口调整大小,以便随时完全填充它.如果我写:

NSView *contentView = [self.window contentView];
CustomView *customView = [[CustomView alloc] initWithFrame:[contentView bounds]];
[contentView addSubview:customView];
[contentView addConstraint:
    [NSLayoutConstraint constraintWithItem:customView
        attribute:NSLayoutAttributeWidth
        relatedBy:NSLayoutRelationEqual
        toItem:contentView
        attribute:NSLayoutAttributeWidth
        multiplier:1
        constant:0]];
[contentView addConstraint:
    [NSLayoutConstraint constraintWithItem:customView
        attribute:NSLayoutAttributeHeight
        relatedBy:NSLayoutRelationEqual
        toItem:contentView
        attribute:NSLayoutAttributeHeight
        multiplier:1
        constant:0]];
Run Code Online (Sandbox Code Playgroud)

然后窗口不允许我调整它.
如果我添加:

[customView setTranslatesAutoresizingMaskIntoConstraints:NO];
Run Code Online (Sandbox Code Playgroud)

然后自定义视图不会出现(drawRect:似乎永远不会被调用).我尝试了不同的方式(包括视觉格式@"|[customview]|"),但我总是遇到同样的问题.我知道可以使用旧的自动调整系统来完成,包括:

[customView setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable];
Run Code Online (Sandbox Code Playgroud)

但是我想使用Cocoa Auto Layout系统,我想将它用于更复杂的情况(比如总是填满窗口的几个自定义视图).

有谁知道什么是错的,我应该如何使用自动布局系统来获得我想要的结果?

layout cocoa

71
推荐指数
3
解决办法
5万
查看次数