是否有可能在Android的片段底部下方显示某些内容?

时间:2015-08-24 18:39:27

标签: android android-fragments

我想做的就是制作这样的布局。

/****************************/
/                            /
/                            /
/                            /
/          Image             /
/                            /
/                            / /******************************/
/                            / /             Button           /
/****************************/ /******************************/
                               /*           TextView         */

问题是,按钮和Textview应该位于与图像分开的片段中。我希望按钮将其底部与父活动中的图像对齐,同时在图像下方的同一片段中具有对象。我该怎么做呢?

2 个答案:

答案 0 :(得分:0)

我没有您的布局xml或如何在Activity中处理片段,但以下解决方案应该有效。

使用以下代码中的想法:

int imageFragmentHeight = mImageFragment.getView().getHeight();
// You might have to get the height some other way...
// e.g. using onGlobalLayoutListener

int buttonHeight = //Your button height

//Now position the button & ImageView fragment as required.

mButtonAndImageFragment.getView().setTranslationY((float)(imageFragmentHeight - buttonHeight));

我的代码假设您的Fragments具有相同的初始top位置。

如果这对您有用,请告诉我。

答案 1 :(得分:0)

您可以通过一些逻辑轻松完成此操作。只需使用以下步骤:

  1. 由于您需要包含与包含Button和TextView的片段并排的图像的片段,请使用水平LinearLayout并通过设置android:layout_weight =" 1"来拆分布局。两个片段。这将在2个片段之间平均分割布局(将比例更改为您想要的任何比例)。

  2. 包含Image的片段必须具有ImageView和View元素(对应于空格)。使用LinearLayout作为根元素。将此视图(空白区域)的高度设置为TextView的高度。你应该使用权重来做到这一点。比如说,你给图像一个权重为4并给视图一个权重为1,它们将以4:1的比例分割可用空间(让我们说这一步的总重量是5)

  3. 在包含Image的片段中,使用LinearLayout作为根视图。第一个元素是View(对应于空格),然后是Button,然后是TextView。请记住,上一步中片段的总重量为5,上一步中的最后一个元素的权重为1.因此,如果在此步骤中将LinearLayout的权重保持为5并保持最后一个的权重此布局中的TextView为1,然后您将找到按钮,使其底部与步骤2中图像的底部对齐。

  4.   

    注意:步骤3中的元素将在x:y:1中分割   你应该有x + y + 1 = 5,x是视图的权重,y是   按钮的重量。

         

    注意:请记住,权重基本上是百分比   可用空间。因此,您不必严格确保它们   总共5(或任何具体数字) - 我刚刚提到它们   示例