![](/img/trans.png)
[英]Android app, how to center align ImageView in a TableLayout cell programmatically
[英]Center align image in ImageView - Android
我在ImageView中居中放置图像时遇到问题。 这些是我的RecyclerView
行
这是我的布局:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/recyclerViewRowParent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:foreground="?selectableItemBackground"
android:minHeight="64dip">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/frameLayout"
android:layout_width="match_parent"
android:layout_height="?listPreferredItemHeight"
android:orientation="horizontal"
android:weightSum="100">
<ImageView
android:id="@+id/ivDeliveryState"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="center_vertical|left"
android:layout_weight="15"
android:scaleType="center"
android:src="@drawable/ic_home_blue_grey_500_24dp" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="60"
android:gravity="center_vertical"
android:orientation="vertical">
<TextView
android:id="@+id/tvTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:scrollHorizontally="false"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/tvSubtitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:scrollHorizontally="false"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceSmall" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="35"
android:orientation="horizontal"
android:weightSum="100">
<TextView
android:id="@+id/tvNotification"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="25"
android:gravity="center"
android:lines="1"
android:maxLength="3"
android:textColor="@color/blue_gray_500"
android:textSize="14sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/handle"
android:layout_width="0dip"
android:layout_weight="75"
android:layout_height="match_parent"
android:layout_gravity="center"
android:scaleType="centerInside"
android:src="@drawable/ic_dehaze_blue_grey_500_24dp" />
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
我想将汉堡包图标(带有id =“ @ + id / handle”)在ImageView内部水平和垂直居中,但到目前为止我还没有运气。 我滥用什么财产或我做错了什么? 谢谢!
我假设您想将图像居中在布局的最右边。 如果是这样,我认为您只是误算了百分比。 包含@ + id / tvNotification和@ + id / handle的LinearLayout应该是layout_weight =“ 25”而不是35,就像您的代码中那样:
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="25"
android:orientation="horizontal"
android:weightSum="100">
<TextView
android:id="@+id/tvNotification"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="25"
android:gravity="center"
android:lines="1"
android:maxLength="3"
android:textColor="@color/blue_gray_500"
android:textSize="14sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/handle"
android:layout_width="0dip"
android:layout_weight="75"
android:layout_height="match_parent"
android:layout_gravity="center"
android:scaleType="centerInside"
android:src="@drawable/ic_dehaze_blue_grey_500_24dp" />
</LinearLayout>
将父LinearLayout重力设置为居中
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="35"
android:orientation="horizontal"
android:gravity="center"
android:weightSum="100">
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.