- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试创建一个界面,其中将向用户显示两个或多个按钮,如果单击一个按钮,则会向他显示一些布局。为此,我正在使用 SlidingDrawer。
嗯,我对 layout_width 和 layout_height 属性感到困惑。
如果我像下面这样设置属性,屏幕上只会显示“Handle 1”。
android:layout_width="fill_parent" android:layout_height="wrap_content"
老实说,我对这两个属性都没有足够的了解。 有人可以分享他对它们的了解吗?
main.xml:
<?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">
<SlidingDrawer android:id="@+id/slidingDrawer1"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:handle="@+id/handle1"
android:content="@+id/content1">
<Button android:text="Handle 1" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:id="@+id/handle1"></Button>
<LinearLayout android:id="@+id/content1"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:orientation="vertical" android:gravity="center"
android:background="#FF444444">
<Button android:text="Handle 1 Item 1" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:id="@+id/item1"></Button>
</LinearLayout>
</SlidingDrawer>
<SlidingDrawer android:id="@+id/slidingDrawer2"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:handle="@+id/handle2"
android:content="@+id/content2">
<Button android:text="Handle 2" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:id="@+id/handle2"></Button>
<LinearLayout android:id="@+id/content2"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:orientation="vertical" android:gravity="center"
android:background="#FF444444">
<Button android:text="Handle 2 Item 1" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:id="@+id/item2"></Button>
</LinearLayout>
</SlidingDrawer>
</LinearLayout>
最佳答案
View 的 layout_width
和 layout_height
属性旨在供其父容器使用。有些容器会忽略其中一个或两个;最尊重他们。您需要查阅容器(在您的情况下为 SlidingDrawer)的文档以了解将如何使用这些值。
您没有显示完整的 main.xml,所以很难说到底出了什么问题。如果您张贴一张错误图片,也会有所帮助。
编辑
在看到您的完整布局后,我认为这里的基本问题是您使用 LinearLayout 来包含 SlidingDrawers。作为docs for SlidingDrawer请注意,它们需要位于 FrameLayout 或 RelativeLayout 中(实际上,任何允许多个 View 相互叠加的容器)。
另一种可能性是第二个 SlidingDrawer 直接放在第一个 SlidingDrawer 的下面。尝试更改第二个按钮的大小(例如,使文本变长)并查看它是否在按钮 1 的两侧突出。
关于Android layout_width & layout_height,它是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8698687/
我有一个包含几个 subview 的布局,所有这些 subview 都设置了高度: 如何在代码中检索存储在 layout_height 中的值? 最终,我想做的是能够调整布局中定义的大小,这样我就可
帮助我进行 XML 布局。 我在 Activity 上有三个 LinearLayout,所有 LinearLayout 的位置都是垂直的(从上到下) My LinearLayout positions
LinearLayout 标签提示 'layout_height' attribute should be defined 'layout_width' attribute should be def
这只是一个简单的问题: 我有一个布局文件,它显示为 ListView 中的一个项目。我将 RelativeLayout 的高度设置为 100dp,但它不起作用,无论我使用哪种布局,它总是包裹内容。如何
我已经学习了使用 Xamarin 的教程,但我遇到了一个问题,它一直显示错误: Android.Views.InflateException: 'Binary XML file line #2: Bi
有什么方法可以解决必须将 layout_width 和 layout_height 参数添加到我的自定义 View 的问题?我知道有一些内置的 android View ,您不必为其提供这些属性。 最
我有一个简单的看法如下; 即使 LinearLayout 的高度和宽度都明确设置为匹配其父级,它也匹配 CardView 的宽度但在高度方向包裹其内容。为什
我遇到了令人讨厌的“'layout_height' 属性应该被定义”lint 错误。虽然我已经按照我的风格定义了它: @style/EditTextAppTheme @style
我正在尝试创建一个界面,其中将向用户显示两个或多个按钮,如果单击一个按钮,则会向他显示一些布局。为此,我正在使用 SlidingDrawer。 嗯,我对 layout_width 和 layout_h
我正在使用形状元素作为 View 的背景,这样做 SO question .我正在使用 Android Studio,它告诉我... 元素形状没有必需的属性 android:layout_height
我有一个包含大量文本内容的 WebView。我正在使用以下 WebView 设置: settings.setJavaScriptEnabled(true); settings.setL
我膨胀这个 View ,并将它作为标题添加到我的 ListView 中。我试图将其设置为 500dp 高(硬编码,为了这个例子) ListView 不尊重其 header 的权威性并将
我使用样式文件为相同的布局设置了独特的样式, 风格: match_parent wrap_content horizontal @dimen/padd
这个问题在这里已经有了答案: In android layouts what is the effect/meaning of layout_height="0dip" (4 个答案) 关闭 9 年
应定义“layout_height”属性错误 我曾经创建新的 Android 项目并将 ConstraintLayout 更改为 LinearLayout但是 Radiobutton 显示错误 “'l
我正在使用 GridLayoutManager 在 RecyclerView 中使用 CardViews。我面临的问题是,我在 xml 或 java 中为卡片 View 指定的高度,它不会被 Card
我刚刚在 LinearLayout 中实现了一个 ListView,但我需要定义 LinearLayout 的高度(它必须是屏幕高度的 50%)。 这可能吗? 我为按钮和 Ed
我的 main.xml 文件中有一个 ImageView: 我只需要以编程方式将 layout_height 设置为另一个值。 另外,我需要在 dp 中设置值。所以目前是 45dp,我想在我的主要
我注意到当我在 edittext 中使用 android:layout_height="38sp"而不是 android:layout_height="wrap_content"时。我得到中间有白线的
这是我的代码: 在此示例中,只有 2 行文本可见,但行数超过 2 行。如何设置此 Text
我是一名优秀的程序员,十分优秀!