标签: layout

我什么时候可以先测量视图?

所以我在尝试设置视图的背景可绘制时有点混乱.该代码依赖于知道视线的高度,所以我不能把它onCreate()onResume(),因为getHeight()返回0 onResume()似乎是最接近我可以得到虽然.我应该在哪里放置如下所示的代码,以便在显示给用户时背景发生变化?

    TextView tv = (TextView)findViewById(R.id.image_test);
    LayerDrawable ld = (LayerDrawable)tv.getBackground();
    int height = tv.getHeight(); //when to call this so as not to get 0?
    int topInset = height / 2;
    ld.setLayerInset(1, 0, topInset, 0, 0);
    tv.setBackgroundDrawable(ld);
Run Code Online (Sandbox Code Playgroud)

height layout android android-lifecycle

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

在WPF中的堆栈面板中对齐左侧和右侧的控件

我有以下代码:

<DockPanel>
    <StackPanel DockPanel.Dock="Top" Orientation="Horizontal">
        <RadioButton Content="_Programs" 
                    IsChecked="{Binding Path=ProgramBanksSelected}" IsEnabled="{Binding Path=ProgramsEnabled}" Margin="8" />
        <StackPanel>
            <Label Content="Master" Height="28" Name="MasterFileStatus" VerticalContentAlignment="Center"/>
        </StackPanel>
    </StackPanel>
    ...
Run Code Online (Sandbox Code Playgroud)

单选按钮应放在堆栈面板的左侧(我删除了一些按钮,不会使示例混乱),标签(我暂时放在嵌套的StackPanel中)应位于右侧.

我已经尝试了许多对齐组合,但我无法在右侧获得标签.我应该添加什么来实现这一目标?

wpf layout xaml alignment stackpanel

59
推荐指数
4
解决办法
7万
查看次数

是否可以仅使用Bootstrap创建类似pinterest的布局?

我正试图让我的头脑现在已经有一段时间了:

是否可以仅使用Twitter Bootstrap创建一个pinterest布局?我知道有像砌体这样的jQuery插件,但没有它们没有办法吗?

谢谢

grid layout jquery-masonry twitter-bootstrap

59
推荐指数
6
解决办法
9万
查看次数

UICollectionView - 水平滚动,水平布局?

我有一个UIScrollView图标网格.如果你想象一下iOS Springboard的布局,你就会非常接近正确.它有一个水平的分页滚动(就像Springboard一样).但是,看起来布局并不完全正确.好像是从上到下布置物品.因此,由于要显示的项目数,我的最后一列只有2行.我宁愿让最后一页上的最后一行有2个项目,就像你在Springboard中看到的那样.

如何通过UICollectionView及其相关课程来实现这一目标?我必须写一个自定义UICollectionViewFlowLayout

layout ios uicollectionview uicollectionviewlayout

57
推荐指数
10
解决办法
15万
查看次数

如何在另一个div中水平放置两个div

我没有玩过很长时间的CSS,而且目前还没有参考.我的问题应该相当容易,但谷歌搜索没有提出足够的答案.所以,增加集体知识......

|#header---------------------------------------------------------------|
|                               TITLE                                  |
|#sub-title------------------------------------------------------------|
|bread > crumb                    |                  username logout   |
|#sub-left                        |                          #sub-right|
|---------------------------------|------------------------------------|
Run Code Online (Sandbox Code Playgroud)

这就是我想要的布局.标题反正.我希望子标题包含子左和右子.我使用什么css规则来确保div受另一个div的属性约束.在这种情况下,我如何确保子左和右子留在子标题内?

html css layout

56
推荐指数
5
解决办法
13万
查看次数

WPF网格中子控件之间的间距

我有一组要在WPF窗口上显示的键/值对.我正在使用网格将它们放置出来:

<Grid Margin="4">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>

    <Label Grid.Row="0" Grid.Column="0">Code</Label>
    <TextBox Grid.Row="0" Grid.Column="1" Text="{Binding Code}"/>

    <Label Grid.Row="1" Grid.Column="0">Name</Label>
    <TextBox Grid.Row="1" Grid.Column="1" Text="{Binding Name}"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)

然而,当我显示它时,TextBoxes被压扁,它们的顶部和底部边框接触上方/下方的TextBox.在此布局中向行添加垂直空间的最佳方法是什么?

wpf grid layout

56
推荐指数
2
解决办法
7万
查看次数

引用layout/main.xml中的内部类View时出错

哎呀...

我在Activity中创建了一个视图的子类作为内部类.之前我只是从我的活动链接到此视图:

setContentView(new CustomView(this));
Run Code Online (Sandbox Code Playgroud)

没有问题.

然而,现在,我的视图变得越来越复杂,所以我将它作为FrameLayout的一部分,这样我就可以将它作为基本视图并在其上添加一个Spinner小部件.问题是,当我这样做时,我收到一个错误:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.grafightscratch.ochemmer/com.grafightscratch.ochemmer.MoleculeTablet}: android.view.InflateException: Binary XML file line #4: Error inflating class com.grafightscratch.ochemmer.MoleculeTablet.MoleculeTabletView
...
Caused by: android.view.InflateException: Binary XML file line #4: Error inflating class com.grafightscratch.ochemmer.MoleculeTablet.MoleculeTabletView
...
Caused by: java.lang.ClassNotFoundException: com.grafightscratch.ochemmer.MoleculeTablet.MoleculeTabletView in loader dalvik.system.PathClassLoader@43b74a28
Run Code Online (Sandbox Code Playgroud)

所以这个视图在我直接链接到它之前有效,但是当我尝试将它作为framelayout的一部分添加到main.xml文件中时,我得到了上述错误.我也试过放入一个布局,只有通过以下方式显示:

<com.grafightscratch.ochemmer.MoleculeTablet.MoleculeTabletView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/molecule_tablet_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
Run Code Online (Sandbox Code Playgroud)

什么都行不通.我一直收到InflateException/ClassNotFoundException错误.它抱怨二进制XML文件中的"第3行",如果它正在讨论main.xml,那就是我已经三次检查的包声明.

编辑 我试图使这个视图成为一个单独的类(即 - 不是内部类),它的工作原理.经过一番搜索,我发现一些帖子说xml标签应该是这样的:

<com.grafightscratch.ochemmer.MoleculeTablet$MoleculeTabletView ...>
Run Code Online (Sandbox Code Playgroud)

即,应使用美元符号将内部类与主类分开.但是,Eclipse barfs就此称之为错误,并拒绝让我在那里构建或部署该角色.所以现在问题变成了:如何引用一个内部类的View?

layout android view

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

如何以编程方式更改布局的可见性

有可能改变View的可见性,但是如何以编程方式更改XML中定义的布局的可见性?如何获得布局对象?

<LinearLayout
    android:id="@+id/contacts_type"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:visibility="gone">
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

layout android visibility

56
推荐指数
3
解决办法
15万
查看次数

Android:可以用wrap_content设置SlidingDrawer的高度吗?

我正在尝试实现一个SlidingDrawer占据全屏宽度的内容,但其高度由其内容动态确定:换句话说,fill_parent宽度和wrap_content高度的标准布局行为.这正是我在布局XML中指定它的方式(见下文),但滑动抽屉始终打开到全屏高度.我的内容高度各不相同,但通常它只有屏幕高度的一半左右,所以我最终会在它下面留下一个很大的空隙.我想要的是内容整齐地放在屏幕的底部.

我已经尝试了所有我能想到的东西来解决它但到目前为止还没有任何工作.如果我将SlidingDrawer's layout_height设置为特定值(例如160dip)它可以工作,但这不是我需要的:它必须是动态的.当然,我已经确保所有子元素的高度也都设置wrap_content了.

关于SlidingDrawer的文档在这方面有点模糊,我无法找到任何能够完成我所做的事情的例子.如果有人能看到我出错的地方,我真的很感谢你的帮助!

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <ViewFlipper
        android:id="@+id/ImageFlipper"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <ImageView
            android:id="@+id/imageView0"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scaleType="centerCrop" />

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scaleType="centerCrop" />

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scaleType="centerCrop" />

    </ViewFlipper>

    <SlidingDrawer
        android:id="@+id/infoDrawer"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:handle="@+id/infoDrawerHandle"
        android:content="@+id/infoDrawerContent"
        android:allowSingleTap="false"
        android:layout_alignParentBottom="true"
        android:orientation="vertical" >

        <!-- Sliding drawer handle -->
        <ImageView
            android:id="@id/infoDrawerHandle"
            android:src="@drawable/info_handle_closed"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" />

        <!-- Sliding drawer content: a scroller containing a group of text views
        laid out …
Run Code Online (Sandbox Code Playgroud)

layout android slidingdrawer

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

WPF ListView与项目的水平排列?

我想以类似于列表模式下的WinForms ListView的方式在ListView中布置项目.也就是说,在ListView中不仅在垂直方向而且在水平方向上布置项目.

我不介意这些物品的布局是这样的:

1 4 7
2 5 8
3 6 9

或者像这样:

1 2 3
4 5 6
7 8 9

只要它们在垂直和水平方向呈现,以便最大限度地利用可用空间.

我能找到的最接近的是这个问题:

如何使WPF ListView项目水平重复,如水平滚动条?

只能水平放置项目.

wpf layout listview

55
推荐指数
3
解决办法
7万
查看次数