基本上我有这个内部XML,但我必须在代码中重新创建它.我该怎么做?
<EditText
android:layout_width="140dp"
android:layout_height="20dp"
android:background="@drawable/input_bg01"
android:textSize="10dp"
android:gravity="center"
android:text="111-222-333 FOOO" />
Run Code Online (Sandbox Code Playgroud)
我可以使用它来设置文本大小,但layout_width和height呢?
edTxt.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 10);
Run Code Online (Sandbox Code Playgroud)
有没有办法告诉代码使用DP单元而不是像素?或转换功能将DP转换为像素?
我解决了一个典型的图像任务:尝试centerCrop()像如何使用 Glide 库对图像进行舍入?,但结果似乎是Glide 圆形图像被裁剪或
(非圆形)。
我认为 Glide (v.4) 没有正确裁剪图像。我尝试了许多变体,例如GlideApp.with(photo).load(url).circleCrop().into(photo). 可能更好的是首先从矩形创建一个正方形,然后使其成为圆形。
这是 XML 的一部分:
<?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="wrap_content"
>
<ImageView
android:id="@+id/photo"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginStart="15dp"
android:layout_marginLeft="15dp"
android:layout_marginTop="20dp"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@drawable/image_1"
/>
<TextView
android:id="@+id/name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="7dp"
android:layout_marginLeft="7dp"
android:lineSpacingExtra="1sp"
android:textColor="@color/black"
android:textSize="20sp"
app:layout_constraintEnd_toStartOf="parent"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintStart_toEndOf="@+id/photo"
app:layout_constraintTop_toTopOf="@+id/photo"
tools:text="Name"
/>
</android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)
更新
抱歉,源图像有问题。我不认为它是用上下白色填充物平方的(添加了线条):
另一个例子:
这是因为在后端,他们缩小了矩形图像,使其成为带有白色边框的正方形。