要在Android EditText中设置多行文本的drawable重力,可以使用setCompoundDrawablesRelativeWithIntrinsicBounds方法来设置左、上、右、下四个方向的drawable,并指定重力。
以下是一个示例代码,演示如何将drawable设置为EditText的左侧,并设置重力为左侧:
EditText editText = findViewById(R.id.editText);
Drawable drawable = getResources().getDrawable(R.drawable.your_drawable);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
editText.setCompoundDrawablesRelativeWithIntrinsicBounds(drawable, null, null, null);
editText.setCompoundDrawablePadding(10); // 设置drawable与文本之间的间距
editText.setGravity(Gravity.START | Gravity.CENTER_VERTICAL); // 设置重力为左侧
在上面的代码中,首先获取一个Drawable对象,并使用setBounds方法设置其大小。然后使用setCompoundDrawablesRelativeWithIntrinsicBounds方法将drawable设置为EditText的左侧。接下来,使用setCompoundDrawablePadding方法可以设置drawable与文本之间的间距。最后,使用setGravity方法将重力设置为左侧。
请注意,R.drawable.your_drawable
应该替换为您实际使用的drawable资源。另外,如果您希望将drawable设置为其他方向,可以使用setCompoundDrawablesRelativeWithIntrinsicBounds方法的其他参数来指定上、右和下方向的drawable。