- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我一直在寻找使用 RelativeLayout 时“toLeftOf”和“toRightOf”问题的解决方案,但还没有找到针对此行为的真正解决方案或好的答案:
基本上,“toLeftOf”的效果不是很好。
我有两个 EditText,我希望在每个 EditText 的左侧显示一个图像。当我尝试这样做时,我得到以下结果(Eclipse 编辑器):
如您所见,根本没有显示图像。这是使用的 XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="35dp"
android:background="#010101"
android:gravity="center_horizontal"
android:orientation="vertical" >
<EditText
android:id="@+id/login_carNumber"
style="@style/EditTextDark"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/prompt_carNumber"
android:inputType="phone"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textCursorDrawable="@null" >
<requestFocus />
</EditText>
<ImageView
android:id="@+id/login_car_icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/user"
android:layout_toLeftOf="@id/login_carNumber" />
<EditText
android:id="@+id/login_password"
style="@style/EditTextDark"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/login_carNumber"
android:layout_marginTop="10dp"
android:hint="@string/prompt_password"
android:inputType="phone"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textCursorDrawable="@null" >
</EditText>
<ImageView
android:id="@+id/login_lock_icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/lock"
android:layout_toLeftOf="@id/login_password" />
</RelativeLayout>
首先,为什么这不起作用?
如果我更改 XML,并在 EditText 上使用“toRightOf”而不是在图像上使用“toLeftOf”,那么我会得到以下结果:
如您所见,显示了两个图像,但它们“在彼此之上”,此时挂锁应位于第二个 EditText 的左侧。这是 XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="35dp"
android:background="#010101"
android:gravity="center_horizontal"
android:orientation="vertical" >
<EditText
android:id="@+id/login_carNumber"
style="@style/EditTextDark"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/login_car_icon"
android:hint="@string/prompt_carNumber"
android:inputType="phone"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textCursorDrawable="@null" >
<requestFocus />
</EditText>
<ImageView
android:id="@+id/login_car_icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/user" />
<EditText
android:id="@+id/login_password"
style="@style/EditTextDark"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/login_carNumber"
android:layout_marginTop="10dp"
android:layout_toRightOf="@+id/login_lock_icon"
android:hint="@string/prompt_password"
android:inputType="phone"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textCursorDrawable="@null" >
</EditText>
<ImageView
android:id="@+id/login_lock_icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/lock"
/>
</RelativeLayout>
第二个问题;为什么“挂锁”图像在第一个图像的顶部,而不是直接在第二个 EditText 的左侧?
如果我现在将以下行添加到最后一个 ImageView(挂锁图像):
android:layout_below="@+id/login_car_icon"
它放置正确,但我认为它是一个“黑客”,应该没有必要,对吧?
所以,最后一个 ImageView 有以下 XML 可以工作:
<ImageView
android:id="@+id/login_lock_icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/lock"
android:layout_below="@+id/login_car_icon"
/>
结果:
最后;为什么需要这样做才能使图像位于最后一个 EditText 的左侧?
最佳答案
I have two EditText, and I want an image to be displayed to the left of each EditText. When I try to do that, I get the following result (Eclipse editor):[...]Firstly, why isnt this working?
RelativeLayout
会做这样的事情:
EditText
,它被设置为填充父级的宽度(并且将从左上角开始定位(默认定位在 RelativeLayout
)), 它基本上填满了屏幕的所有宽度EditText
左侧的 ImageView
,但由于 EditText
放置在从左边缘开始的位置屏幕,它会填满整个屏幕 ImageView 将被放置在 EditText
的左侧,在可见屏幕区域之外按照您的意愿定位 View 的一种方法是:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="35dp"
android:background="#010101"
android:gravity="center_horizontal"
android:orientation="vertical" >
<ImageView
android:id="@+id/login_car_icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/user"
/>
<EditText
android:id="@+id/login_carNumber"
style="@style/EditTextDark"
android:layout_toRightOf="@id/login_car_icon"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/prompt_carNumber"
android:inputType="phone"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textCursorDrawable="@null" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/login_password"
style="@style/EditTextDark"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/login_carNumber"
android:layout_alignLeft="@id/login_carNumber"
android:layout_marginTop="10dp"
android:hint="@string/prompt_password"
android:inputType="phone"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textCursorDrawable="@null" >
</EditText>
<ImageView
android:id="@+id/login_lock_icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/lock"
android:layout_alignTop="@id/login_password"
/>
</RelativeLayout>
Second question; why is the "padlock" image on top of the first image, and not directly to the left of the second EditText?
RelativeLayout
将从屏幕的左上角开始放置其子项(没有设置规则)。如果您没有规则,您最终会遇到被绑架的 child 。
Lastly; why is this needed to make the image to the left of the last EditText?
这不是黑客攻击。您需要告诉 RelativeLayout
第二个 ImageView
的位置在第一个 ImageView
的下方。
关于android - RelativeLayout 没有正确处理 "toLeftOf"和/或 toRightOf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14303272/
我想要一个 Imageview(大小 50dp/50 dp),在这张图片的右边,我想要一个 ListView(它有一个可变大小,取决于我的数据库,但这不是重点) .图像应保持其大小,而列表应有其自己的
我想在两张图片之间放置一个 EditText... 正常情况下,它工作完美,但我不知道为什么它现在不工作...... 我首先将两张图片放在 RelativeLayout 中,然后添加 EditText
我正在使用约束布局,我正在尝试使 textview 位于指南的右侧,并包装其宽度。但是 textview 没有使用约束"app:layout_constraintLeft_toRightOf="@id
这是我的布局: 我有一个相对布局。该布局在顶部有两个网格布局,可以在我的 Java 代码中填充文本或检查。它们可以是空白的。然后我有三个按钮。前两个按钮在屏幕上显示得很好。第三个按钮位于
我正在制作聊天应用程序。我想在聊天气泡旁边加上时间戳。消息将左对齐(接收)和右对齐(发送)。 因此,我正在寻找一种将 toLeftOf 更改为 toRightOf 的方法。现在,它看起来像这样: 这是
我一直在寻找使用 RelativeLayout 时“toLeftOf”和“toRightOf”问题的解决方案,但还没有找到针对此行为的真正解决方案或好的答案: 基本上,“toLeftOf”的效果不是很
在 .xml Android Studio 中,有什么区别: 1) " 端边 "和 " 右边 "? 2)“ toEndOf ”和“ toRightOf ”? 3) " 起始边 "和 " 左边 "? 4
我是一名优秀的程序员,十分优秀!