无法在ImageView中居中图像

时间:2017-04-04 15:28:36

标签: android xamarin.android android-xml

所以我一直在努力将这个按钮集中在我的视图中大约3个小时我已经放弃并来到这里寻求更有经验的Android开发人员的一些建议。

现在它看起来像这样。 enter image description here

我想看起来像这样 enter image description here

我的观点在代码中看起来像这样:

<RelativeLayout
    android:id="@+id/receptionLineAddQuantityAndSeries"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:paddingBottom="@dimen/padding_layout">
    <RelativeLayout
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_above="@+id/layoutQntInput"
        local:MvxBind="Visibility Article.SeriesType, Converter=Visibility;">
        <Mvx.MvxImageView
            android:id="@+id/articleSeriesImage"
            android:src="@drawable/ic_list_white_48dp"
            android:layout_width="wrap_content"
            android:scaleType="center"
            android:paddingRight="@dimen/padding_layout"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_alignParentRight="true"
            android:background="@drawable/button_border"
            android:layout_marginRight="16dp"
            android:layout_marginTop="8dp" />
        <RelativeLayout
            android:id="@+id/layoutInputSeries"
            android:paddingLeft="@dimen/padding_layout"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_marginRight="58dp">
            <TextView
                android:id="@+id/suppliersSearchInputLabelCode"
                android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:layout_alignParentTop="true"
                style="@style/ExtendProTheme.EditTextLabel"
                local:MvxBind="Visibility Article.SeriesType, Converter=Visibility; Text Article.SeriesType, Converter=ArticleSeriesTypeToLabel;" />
            <CC.CustomEditText
                android:id="@+id/inventoryIdentifyArticleEditText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="8dp"
                android:theme="@style/ExtendProTheme"
                android:maxLength="20"
                android:layout_below="@+id/suppliersSearchInputLabelCode"
                style="@style/ExtendProTheme.EditText"
                local:MvxBind="Text Article.SeriesName, Mode=TwoWay; Error Errors['SeriesName']; Visibility Article.SeriesType, Converter=Visibility; Hint Article.SeriesType, Converter=ArticleSeriesTypeToHint; EnterCommand GetSeriesTotalQuantityCommand; FocusChangeCommand GetSeriesTotalQuantityCommand;" />
        </RelativeLayout>
    </RelativeLayout>      
</RelativeLayout>

到目前为止,我所尝试的是所有组合 android:scaleType = fitXY,fitCenter,center,matrix ImageView的固定宽度,没有结果...

任何帮助都会很好。

我已经尝试了下面的所有答案,但仍未按预期显示。我发现了一个看起来与我需要的版本相近的版本。

  <Mvx.MvxImageView
    android:layout_width="48dp"
    android:layout_height="match_parent"
    android:src="@drawable/ic_list_white_48dp"
    android:id="@+id/articleSeriesImage"
    style="@style/ExtendProTheme.ListButtonSeriesStyle">

  <style name="ExtendProTheme.ListButtonSeriesStyle">
    <item name="android:scaleType">matrix</item>
    <item name="android:paddingRight">@dimen/padding_layout</item>
    <item name="android:layout_marginLeft">8dp</item>
    <item name="android:layout_marginRight">8dp</item>
    <item name="android:layout_marginTop">8dp</item>
    <item name="android:background">@drawable/button_border</item>
    <item name="android:layout_alignParentRight">true</item>
    <item name="android:layout_gravity">center</item>
  </style>

enter image description here

4 个答案:

答案 0 :(得分:0)

尝试这个:)

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:id="@+id/receptionLineAddQuantityAndSeries">

    <Mvx.MvxImageView
        android:id="@+id/articleSeriesImage"
        android:src="@drawable/ic_list_white_48dp"
        android:layout_width="60dp"
        android:layout_height="match_parent"
        android:scaleType="center"
        android:paddingRight="@dimen/padding_layout"
        android:gravity="center"
        android:layout_alignParentRight="true"
        android:background="@drawable/button_border"
        android:layout_marginRight="15dp"
        android:layout_centerVertical="true"/>

    <TextView
        android:id="@+id/suppliersSearchInputLabelCode"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="10dp"
        style="@style/ExtendProTheme.EditTextLabel"
        local:MvxBind="Visibility Article.SeriesType, Converter=Visibility; Text Article.SeriesType, Converter=ArticleSeriesTypeToLabel;" />

    <CC.CustomEditText
        android:id="@+id/inventoryIdentifyArticleEditText"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="5dp"
        android:theme="@style/ExtendProTheme"
        android:maxLength="20"
        android:layout_below="@+id/suppliersSearchInputLabelCode"
        android:layout_toLeftOf="@+id/articleSeriesImage"
        style="@style/ExtendProTheme.EditText"
        local:MvxBind="Text Article.SeriesName, Mode=TwoWay; Error Errors['SeriesName']; Visibility Article.SeriesType, Converter=Visibility; Hint Article.SeriesType, Converter=ArticleSeriesTypeToHint; EnterCommand GetSeriesTotalQuantityCommand; FocusChangeCommand GetSeriesTotalQuantityCommand;" />

</RelativeLayout>

答案 1 :(得分:0)

试试这个,检查语法

<RelativeLayout>
<TextView
id=@+id/yourtxtv
/>
<ImageView

 android:layout_alignBaseline
android:align_right_to="@+id/yourtxtv"
android:margin_right=xxxx(put the value u want to put)
/>
</RelativeLayout>

答案 2 :(得分:0)

这是我尝试过的:

<RelativeLayout
    android:id="@+id/receptionLineAddQuantityAndSeries"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true">
    <RelativeLayout
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"/>
        <ImageView
            android:id="@+id/articleSeriesImage"
            android:src="@drawable/ic_android"
            android:background="@color/blue"
            android:layout_width="wrap_content"
            android:scaleType="center"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_alignParentRight="true"
            android:layout_marginRight="16dp"
            android:layout_marginTop="8dp" />
        <RelativeLayout
            android:id="@+id/layoutInputSeries"
            android:paddingLeft="64dp"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_marginRight="58dp">
            <TextView
                android:id="@+id/suppliersSearchInputLabelCode"
                android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:text="sn"
                android:layout_alignParentTop="true"/>

            <EditText
                android:id="@+id/inventoryIdentifyArticleEditText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="8dp"
                android:theme="@style/ExtendProTheme"
                android:maxLength="20"
                android:layout_below="@+id/suppliersSearchInputLabelCode"/>
        </RelativeLayout>
    </RelativeLayout>
</RelativeLayout>

Preview of the display here

答案 3 :(得分:0)

解决方案是

 <Mvx.MvxImageView
    android:layout_width="48dp"
    android:layout_height="48dp"
    android:src="@drawable/ic_list_white_48dp"
    android:id="@+id/articleSeriesImage"
    style="@style/ExtendProTheme.ListButtonSeriesStyle">

  <style name="ExtendProTheme.ListButtonSeriesStyle">
    <item name="android:scaleType">matrix</item>
    <item name="android:paddingRight">@dimen/padding_layout</item>
    <item name="android:layout_marginLeft">8dp</item>
    <item name="android:layout_marginRight">8dp</item>
    <item name="android:layout_marginTop">8dp</item>
    <item name="android:background">@drawable/button_border</item>
    <item name="android:layout_alignParentRight">true</item>
    <item name="android:layout_gravity">center</item>
  </style>

这是唯一有效的方式。谢谢大家的想法。