Одним из способов выравнивания изображения по праву является использование макета XML.Это самый простой способ.
Предполагая, что у вас есть ImageView
внутри RelativeLayout
, вы можете использовать атрибут `layout_alignParentRight 'следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
tools:context=".MainActivity">
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/image_name"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
/>
</RelativeLayout>
Атрибут layout_alignParentEnd
альтернатива для layout_alignParentRight
для скрипта справа налево.Для LinearLayout
вы можете использовать атрибут layout_gravity
.Кроме того, убедитесь, что ваш ImageView
равен wrap_content
, а не match_parent
, и в этом случае изображение расширится до целого ImageView
.
Если вы хотите сделать это программным путем, вы можете сделать этоследующим образом:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = findViewById(R.id.imageView);
imageView.setImageResource(R.drawable.pigeon);
RelativeLayout.LayoutParams params = new
RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
imageView.setLayoutParams(params);
}
Здесь мы выравниваем дочерний вид RelativeLayout
вправо, добавляя правило выравнивания вправо и затем устанавливая этот параметр макета для Image View
.Это также может быть сделано для LinearLayout
с использованием функции layout_gravity
.
Я протестировал этот код для примера изображения.Надеюсь, что это решит вашу проблему.