在我的项目中,我EditTexts
彼此相邻放置。在IDE中,看起来不错...
然而,将其部署到我的手机后,带有可绘制对象的EditText
未对齐
这仅在添加drawableLeft
和drawableStart
时发生。请注意,两套EditTexts
位于自己的ConstraintLayout
中,位于水平LinearLayout
中,并且仅在drawableLeft
和{{1 }}。
要复制此问题。只需创建一个新的布局资源并在您的手机上进行部署
LinearLayout
如何将 <?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:id="@+id/layout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="2">
<EditText
android:id="@+id/txt"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:ems="10"
android:inputType="number"
android:maxLines="1"
android:singleLine="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</android.support.constraint.ConstraintLayout>
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="2">
<EditText
android:id="@+id/txtDrawable"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:drawableLeft="@drawable/ic_android_black_24dp"
android:drawablePadding="8dp"
android:drawableStart="@drawable/ic_android_black_24dp"
android:ems="10"
android:inputType="number"
android:maxLength="4"
android:maxLines="1"
android:singleLine="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</android.support.constraint.ConstraintLayout>
</LinearLayout>
</android.support.constraint.ConstraintLayout>
与可绘制对象对齐到相邻的EditText
?
答案 0 :(得分:0)
问题在于可绘制对象的高度大于电话中文本的高度。线性布局使所有内容水平居中,这就是您遇到此对齐问题的原因。您不必在IDE或一部电话中看到的内容在其他设备上也可以看到完全相同的东西。可能由于屏幕尺寸和分辨率而发生。
在解决方案上,您可以将所有编辑文本包装在一个约束布局中。使可绘制对象置于中心的编辑文本,其余的跟随其后。
def send_rivpics():
capture = call(["fswebcam", "/home/pi/Desktop", "-r", "1280x740", "--no-banner", "rvr_stat.jpg"])
if capture == 0:
try:
session = ftplib.FTP('files.000webhost.com','floodmonitoring-malabon','raspberry001')
# change to your pic location
file = open("/home/pi/rvr_stat.jpg", "rb")
res = session.storbinary('STOR public_html/imgs/example.jpg', file)
time.sleep(1)
if ("226" in res) or ("successfully transferred" in res):
print("Upload Success")
else:
print("Upload Failed")
except:
print("Upload Error")
file.close()
session.quit()