2012-02-28 96 views
2

我有一个问题,我已经试着用搜索引擎和其他方式寻找,但我不知道该怎么寻找...Android的布局XML属性和定位...

我的布局是这样的:

_______________________________________________________ 
|   |  |         | 
|   |  |         | 
| content | button |         | 
|   |  |         | 
|___________|________|__________________________________|             

但如果我补充一点它看起来就像这样:

_______________________________________________________ 
|       |  |     | 
|       |  |     | 
| content    | button |     | 
|       |  |     | 
|_________________________|________|____________________|             

但当含量低于包装大我要让内容滚动,但显示出在包装结束按钮喜欢这样的:

_______________________________________________________ 
|            |  | 
|            |  | 
| scrollable content       | button | 
|            |  | 
|______________________________________________|________| 

所以它不会不管有多少内容有,该按钮将始终可见,内容将是horizo​​ntaly scollable :)

我的代码,现在是这样的,但我不知道我该怎么做,我可以得到它像我想要的:

<LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="@dimen/TopBarHeight" > 


     <HorizontalScrollView 
      android:layout_width="wrap_content" 
      android:layout_height="@dimen/TopBarHeight" > 
      <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="@dimen/TopBarHeight" > 
       <LinearLayout 
        android:layout_width="@dimen/TabMaxWidth" 
        android:layout_height="@dimen/TopBarHeight" /> 
       <LinearLayout 
        android:layout_width="@dimen/TabMaxWidth" 
        android:layout_height="@dimen/TopBarHeight" /> 
       <LinearLayout 
        android:layout_width="@dimen/TabMaxWidth" 
        android:layout_height="@dimen/TopBarHeight" /> 
       <LinearLayout 
        android:layout_width="@dimen/TabMaxWidth" 
        android:layout_height="@dimen/TopBarHeight" /> 
       <LinearLayout 
        android:layout_width="@dimen/TabMaxWidth" 
        android:layout_height="@dimen/TopBarHeight" /> 
       <LinearLayout 
        android:layout_width="@dimen/TabMaxWidth" 
        android:layout_height="@dimen/TopBarHeight" /> 
      </LinearLayout>    
     </HorizontalScrollView> 
     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="@dimen/TopBarHeight" > 
      <ImageButton 
       android:layout_width="@dimen/TopBarHeight" 
       android:layout_height="@dimen/TopBarHeight"/> 
     </LinearLayout> 
    </LinearLayout> 
+0

您是否试图将您的linearlayout与您的按钮放在horizo​​ntalscrollview中? – maebe 2012-02-28 11:31:58

+0

如果我这样做,按钮VILL disapear时滚动视图充满 – Alioooop 2012-02-28 11:44:40

回答

0

我会建议一个顶部LinearLayout总布局权重4和水平。 然后为内容创建另一个线性布局,给那个3的权重并在里面放置一个滚动视图。创建权重为1的另一个线性布局,并将该按钮添加到该布局。

或者使用relativelayout。然后,您可以指定将scrollview与父级左侧和按钮右侧对齐。并且该按钮与父视图的右侧和滚动视图的右侧对齐。

编辑:这里是将你想要做什么的RelativeLayout的例子:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 
<ScrollView 
    android:id="@+id/scrollView1" 
    android:layout_width="wrap_content" 
    android:layout_height="48dp" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" android:layout_toLeftOf="@id/button1"> 
    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 
    </LinearLayout> 
</ScrollView> 
<Button 
    android:id="@+id/button1" 
    android:layout_width="100dp" 
    android:layout_height="48dp" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentTop="true" 
    android:text="Button" /> 
</RelativeLayout> 
+0

我尝试的第一个选择,但没有得到它的工作... – Alioooop 2012-02-28 11:50:36

+0

我添加了一个RelativeLayout的,以我的回答会做正是你想要的,我相信。 – Tony 2012-02-28 13:57:50

+0

由于某种原因,该按钮始终位于屏幕的右边缘...如果滚动视图具有fill_parent ... – Alioooop 2012-02-28 15:25:33

0
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="fill_parent"> 


    <HorizontalScrollView android:layout_height="@dimen/TopBarHeight" android:layout_width="wrap_content" android:layout_weight="1"> 
     <LinearLayout android:layout_width="wrap_content" 
      android:layout_height="@dimen/TopBarHeight"> 
      <LinearLayout android:layout_width="@dimen/TabMaxWidth" 
       android:layout_height="@dimen/TopBarHeight" /> 
      <LinearLayout android:layout_width="@dimen/TabMaxWidth" 
       android:layout_height="@dimen/TopBarHeight" /> 
      <LinearLayout android:layout_width="@dimen/TabMaxWidth" 
       android:layout_height="@dimen/TopBarHeight" /> 
      <LinearLayout android:layout_width="@dimen/TabMaxWidth" 
       android:layout_height="@dimen/TopBarHeight" /> 
      <LinearLayout android:layout_width="@dimen/TabMaxWidth" 
       android:layout_height="@dimen/TopBarHeight" /> 
      <LinearLayout android:layout_width="@dimen/TabMaxWidth" 
       android:layout_height="@dimen/TopBarHeight" /> 
     </LinearLayout> 
    </HorizontalScrollView> 
    <ImageButton android:layout_width="@dimen/TopBarHeight" android:layout_height="@dimen/TopBarHeight" android:src="@drawable/icon"></ImageButton> 
</LinearLayout> 
+0

感谢您的代码,但白色的代码按钮将永远在右边... – Alioooop 2012-02-28 11:47:08

0

用户布局重力Horizo​​ntalScrollView和包含的LinearLayout作为的ImageButton以下。

变化是按以下分

  1. 添加机器人:layout_weight = “1” 在Horizo​​ntalScrollView

  2. 添加机器人:在Horizo​​ntalScrollView

    layout_width = “FILL_PARENT”
  3. 添加机器人: layout_weight = “4” 在第二的LinearLayout含有的ImageButton

     <HorizontalScrollView 
          android:layout_width="fill_parent" 
          android:layout_height="@dimen/TopBarHeight" 
    android:layout_weight="1"> 
          <LinearLayout 
           android:layout_width="wrap_content" 
           android:layout_height="@dimen/TopBarHeight" > 
           <LinearLayout 
            android:layout_width="@dimen/TabMaxWidth" 
            android:layout_height="@dimen/TopBarHeight" /> 
           <LinearLayout 
            android:layout_width="@dimen/TabMaxWidth" 
            android:layout_height="@dimen/TopBarHeight" /> 
           <LinearLayout 
            android:layout_width="@dimen/TabMaxWidth" 
            android:layout_height="@dimen/TopBarHeight" /> 
           <LinearLayout 
            android:layout_width="@dimen/TabMaxWidth" 
            android:layout_height="@dimen/TopBarHeight" /> 
           <LinearLayout 
            android:layout_width="@dimen/TabMaxWidth" 
            android:layout_height="@dimen/TopBarHeight" /> 
           <LinearLayout 
            android:layout_width="@dimen/TabMaxWidth" 
            android:layout_height="@dimen/TopBarHeight" /> 
          </LinearLayout>    
         </HorizontalScrollView> 
         <LinearLayout 
          android:layout_width="fill_parent" 
          android:layout_height="@dimen/TopBarHeight" 
    android:layout_weight="4"> 
          <ImageButton 
           android:layout_width="@dimen/TopBarHeight" 
           android:layout_height="@dimen/TopBarHeight"/> 
         </LinearLayout> 
        </LinearLayout> 
    
+0

可悲的是,这没有工作eather ... – Alioooop 2012-02-28 11:56:29