我有一个名为'neura_bar_img'的ImageView,右边有两个TextView:
XML代码:
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/summaryCard"
android:layout_below="@+id/topCard"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
app:layout_heightPercent="25%"
app:layout_marginTopPercent="3%"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="3dp"
android:paddingBottom="3dp">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true">
<ImageView
android:layout_width="270dp"
android:layout_height="113dp"
android:id="@+id/neura_bar_img"
android:src="@drawable/detailed_daily_sum"
android:layout_centerVertical="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@id/neura_bar_img"
android:layout_alignBottom="@id/neura_bar_img"
android:layout_alignLeft="@id/neura_bar_img"
android:layout_alignRight="@id/neura_bar_img"
android:gravity="center"
android:id="@+id/detailed_goal_text"
android:textStyle="italic"
android:text="0"
android:textSize="30sp"
android:textColor="@color/graphicsBlue"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/detailed_bites_eaten_text"
android:layout_alignTop="@id/neura_bar_img"
android:layout_alignBottom="@id/neura_bar_img"
android:layout_alignLeft="@id/neura_bar_img"
android:layout_alignRight="@id/neura_bar_img"
android:gravity="center"
android:layout_marginRight="170dp"
android:layout_marginTop="10dp"
android:textStyle="bold|italic"
android:text="0"
android:textSize="45sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/sports_part_text"
android:layout_alignTop="@id/neura_bar_img"
android:layout_alignBottom="@id/neura_bar_img"
android:gravity="center"
android:layout_marginTop="58dp"
android:layout_marginLeft="0dp"
android:layout_toRightOf="@+id/neura_bar_img"
android:text="---"
android:textSize="30sp"
android:textColor="@color/graphicsOrange"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bites_part_text"
android:layout_alignTop="@id/neura_bar_img"
android:layout_alignBottom="@id/neura_bar_img"
android:gravity="center"
android:layout_marginBottom="54dp"
android:layout_marginLeft="0dp"
android:layout_toRightOf="@+id/neura_bar_img"
android:text="0"
android:textSize="30sp"
android:textColor="@color/graphicsGrey"/>
</RelativeLayout>
</RelativeLayout>
</android.support.v7.widget.CardView>
在Android Studio的预览中看起来很不错。但在某些设备上,ImageView和文本视图之间存在差距。这是一个例子:
我不知道为什么会这样,并且没有在网上找到任何类似的案例。
提前致谢!
答案 0 :(得分:1)
您的imageView
缺少默认设置为scaleType
的{{1}}属性,具体取决于设备,请尝试此操作
fitcenter
另外,不同的Android通常有不同的屏幕指标:
LG 3:<ImageView
android:id="@+id/ZKt_qF_kgP"
android:layout_width="270dp"
android:layout_height="113dp"
android:src="@drawable/neura_bar_img"
android:layout_centerVertical="true"
android:scaleType="fitXY"
/>
Moto G:480dp x 835dp
Nexus 4(在我的情况下默认为android studio预览版):360dp x 640dp
有关更多设备指标,请参阅此table。
如果要调整上述三个设备的应用程序,则需要在相应的文件夹中为每个指标(此处为宽度)指定布局:
384dp x 640dp
layout-sw360dp
layout-sw480dp
答案 1 :(得分:0)
嗯,这可能是您正在使用的布局类型。
屏幕密度不同,您使用的某些值(px,dp等)在不同的设备上可能看起来不一样。
我几乎总是使用LinearLayout,因为我可以使用&#34; weight&#34;属性。
我不知道这是否是您正在寻找的答案,但我尝试过:D