我有一个显示Imageview的应用程序,该视图使用位图填充。图像在三星Galaxy S3上正常显示,但它在Sony XPeria Z上切断了。
这些设备上的图像如下:
我需要做什么才能显示图像,以免被裁剪。
try {
Paint paint1 = new Paint();
paint1.setTextSize(20);
paint1.setTypeface(rcond);
int bitmapWidth = (int)(bitmapList.size() * (80 + paint1.measureText("\u2192")));// + paint1.measureText("\u2192"));
drawnBitmap = Bitmap.createBitmap(bitmapWidth, 110, Config.ARGB_8888);
Canvas canvas = new Canvas(drawnBitmap);
float left = 0;
for (Bitmap bmp : bitmapList){
canvas.drawBitmap(bmp, left, 10, null);
left = left + 80;// + paint.measureText("\u2192");
}
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget76"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/black" >
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="5dp"
android:divider="@android:color/black"
android:dividerHeight="10dp" />
<RelativeLayout
android:id="@+id/widget78"
android:layout_marginTop="5dp"
android:layout_width="wrap_content"
android:paddingLeft="5sp"
android:paddingRight="5sp"
android:background="@drawable/roundedbutton"
android:layout_height="wrap_content" >
<!-- <RelativeLayout -->
<!-- android:id="@+id/widget778" -->
<!-- android:layout_width="wrap_content" -->
<!-- android:visibility="gone" -->
<!-- android:background="@drawable/rounded_button_black" -->
<!-- android:layout_height="wrap_content" > -->
<!-- From -->
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:text=""
android:ellipsize="middle"
android:layout_alignParentLeft="true"
android:textColor="#000000"
android:textStyle="bold"
android:textSize="13sp" />
<!-- From Time-->
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:layout_toRightOf="@id/textView1"
android:text=""
android:gravity="right"
android:layout_alignParentRight="true"
android:textColor="#000000"
android:textStyle="bold"
android:textSize="13dp" />
<LinearLayout
android:id="@+id/llMid"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:weightSum="10"
android:orientation="horizontal"
android:layout_below="@id/textView1"
>
<ImageView
android:id="@+id/ImageView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="9"
android:layout_gravity="left"
android:maxHeight="110dp"
android:paddingTop="3dp"
android:paddingBottom="3dp"
android:src="@drawable/walking" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:fontFamily="sans-serif"
android:text=""
android:layout_gravity="center"
android:gravity="center"
android:layout_weight="1"
android:textColor="#000000"
android:textStyle="bold"
android:textSize="24sp"
android:layout_height="50sp"
android:width="60sp" />
</LinearLayout>
<!-- To -->
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:text=""
android:gravity="right"
android:layout_below="@id/llMid"
android:layout_alignParentLeft="true"
android:textColor="#000000"
android:textStyle="bold"
android:ellipsize="middle"
android:textSize="13sp" />
<!-- To Time -->
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:text=""
android:layout_below="@id/llMid"
android:layout_toRightOf="@id/textView2"
android:layout_alignParentRight="true"
android:gravity="right"
android:textColor="#000000"
android:textStyle="bold"
android:textSize="13sp" />
<!-- </RelativeLayout> -->
</RelativeLayout>
</RelativeLayout>
PS:图像是火车的图像,下面有一些文字。
答案 0 :(得分:0)
我无法理解为什么你没有在你的ImageView上设置src作为列车可绘制的。无论如何,您应该在PS或任何其他img编辑器中创建相同图像的不同大小并正确导入它。 无论如何,我强烈建议您read this guide和this one更好地了解如何在不同的屏幕尺寸上进行操作。
希望它有所帮助!
答案 1 :(得分:0)
所以在尝试了几天并使用位图绘制各种图标得到不一致的结果后,我想出了一个有效的解决方案(虽然它不是很漂亮)。
要显示的图标数量最多为10,但每行中有多少,我不知道。所以在我的布局中,我定义了10个ImageViews。在代码中,我为每个imageview设置了一个所需的图标。其余的,我将可见性设置为GONE。
这似乎工作正常,我没有得到任何裁剪的图标。