【问题标题】:Align to the right of the screen with margin Android对齐到屏幕右侧,有边距 Android
【发布时间】:2013-02-10 13:19:27
【问题描述】:

我在 RelativeLayout 中有一个 Linearlayout,我试图用边距与屏幕的最右侧对齐。示例:

我应该如何修改 LinearLayout 的属性来实现这一点?谢谢

这是XML文件(应该向右对齐的LinearLayout的名称是slide_right):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:gravity="top"
    tools:context=".MainActivity" >

    <WebView android:id="@+id/webview"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"/>

     <LinearLayout
        android:id="@+id/slide_left"
        android:layout_width="400dp"
        android:layout_height="550dp"
        android:layout_marginLeft="-367dp"
        android:layout_marginTop="150dp"
        android:background="@drawable/left_slide"
        android:orientation="vertical" >

    </LinearLayout>

    <LinearLayout
        android:id="@+id/slide_right"
        android:layout_width="400dp"
        android:layout_height="550dp"
       android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="-30dp"
        android:orientation="horizontal" 
        android:background="@drawable/right_slide">

    </LinearLayout>

    <LinearLayout
        android:id="@+id/header_linear_l"
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:orientation="horizontal" >

        <ImageButton
            android:id="@+id/mapbt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/mapbt" />

        <ImageButton
            android:id="@+id/profilebt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/profilebt" />



        <ImageButton
            android:id="@+id/settingsbt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/settingsbt" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:orientation="vertical" >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >

                <ImageButton
                    android:id="@+id/optionalbt"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:background="@drawable/optionbt" />

                <ImageButton
                    android:id="@+id/lvlbt"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:background="@drawable/levelbt" />
            </LinearLayout>

            <ProgressBar
                android:id="@+id/experiencebar"
                style="?android:attr/progressBarStyleHorizontal"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

        </LinearLayout>

    </LinearLayout>

    <ImageButton
        android:id="@+id/Attack_Button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/slide_left"
        android:layout_marginBottom="129dp"
        android:layout_marginLeft="36dp"
        android:layout_toRightOf="@+id/slide_left"
        android:src="@drawable/ic_launcher_old"
        android:visibility="invisible" />

</RelativeLayout>   

【问题讨论】:

  • 无需发布您的 XML 文件,请参阅 My(Shridutt Kothari) 的回答。

标签: android android-layout android-linearlayout android-relativelayout


【解决方案1】:

更改您的Relative layout's Property

来自

  android:layout_width="wrap_content" 

到

  android:layout_width="match_parent"

就是这样...(肯定我已经测试过了请看下面的快照)

【讨论】:

  • 谢谢,它现在按预期工作。这是承诺的赞成票:)
  • 酷.. 帮助人很好。 +1 给 shridutt 以额外努力张贴图片和快速回复。我喜欢 StackTrace 只是因为这些帮助人们...
【解决方案2】:

查看以下代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/your_relative_layout_id"        
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white" >

    <LinearLayout
        android:id="@+id/your_linear_layout_id"
        android:layout_width="50dip"
        android:layout_height="50dip"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="-30dip"
        android:background="#e42c2a"
        android:orientation="horizontal" >
    </LinearLayout>

</RelativeLayout>

这里

android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="-30dip"

对你有用。

【讨论】:

  • 同样,我尝试了这种方法 - android:layout_marginRight 没有效果。我将在第一篇文章中包含我的布局 XML。
  • 我想如果你已经阅读了上面的 xml,这对于你的解决方案来说已经足够了,因为它还包含相对布局中的 match 父属性......但是你没有读过它......而且我不得不再次为你写新的答案..但没问题。建议:以后请务必仔细阅读完整答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多