我使用Html.fromHtml()
來獲取內容並將其顯示在我的活動中。爲此,我正在使用ImageGetter。我有一個問題,如果手機無法連接到互聯網的應用程序崩潰,因爲圖片無法加載。相反,我想要一個佔位符圖像保存在我的ldpi/mdpi/...etc
文件夾中,只要無法加載圖片就會插入。ScrollView無法與Drawables一起使用Android
我ImageGetter使用URLImageParser它具有以下onPostExecute()方法:
@Override
protected void onPostExecute(Drawable result) {
//check to see if an image was found (if not could
//be due to no internet)
if(result ==null){
//the drawable wasn't found so use the image not found
//png
Drawable imageNotFound = a.getResources().getDrawable(R.drawable.image_not_found);
result = imageNotFound;
}
intrinsicHeight = result.getIntrinsicHeight();
intrinsicWidth = result.getIntrinsicWidth();
DisplayMetrics dm = new DisplayMetrics();
((WindowManager) c.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels -50;
int height = width * intrinsicHeight/intrinsicWidth;
result.setBounds(0, 0, 0 + width, 0
+ height);
urlDrawable.setBounds(0, 0, 0+width, 0+height);
// change the reference of the current drawable to the result
// from the HTTP call
urlDrawable.drawable = result;
// redraw the image by invalidating the container
URLImageParser.this.container.invalidate();
// For ICS
URLImageParser.this.container.setHeight((URLImageParser.this.container.getHeight()
+ height));
// Pre ICS
URLImageParser.this.container.setEllipsize(null);
}
我已經在這個方法的頂部簡單地插入的,如果(result==null)
聲明。但現在,如果圖片可以加載的應用程序完美的作品。如果圖片無法加載,而佔位符被使用,我會得到一些奇怪的行爲。
scrollview從不滾動到屏幕的底部,我不知道這是爲什麼。理論上,我的imageNotFound可繪製(這是一個PNG文件)和從互聯網上下載的文件應該沒有區別。滾動視圖只會稍微移動。
我不知道這是什麼原因造成的。在網上搜索時,大多數人似乎在使用RelativeLayouts時遇到問題。我找不到任何人使用drawable或TableLayouts遇到問題。
我的佈局XML如下:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:paddingBottom = "0dip"
android:orientation = "vertical" >
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stretchColumns="0,1"
android:shrinkColumns="0,1"
android:id = "@+id/SharedTableLayout"
android:paddingBottom = "0dip" >
<TableRow
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:paddingBottom = "0dip">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id = "@+id/SharedTableContent"
android:layout_span="2"
android:gravity = "left"
android:paddingLeft = "10dip"
android:paddingRight = "10dip"
android:paddingTop = "20dip"
android:paddingBottom = "0dip"/>
</TableRow>
</TableLayout>
</ScrollView>
我真的很感激有這方面的建議,我已經遇到好幾周了。
感謝您的時間
ID爲SharedTableContent TextView的顯示從HTML使用Html.fromHtml()轉換的字符串,因此圖像可以通過文本,這意味着我不能硬編碼的溶液成XML作爲包圍沒有辦法告訴將要提前下載多少圖像,這些都是以編程方式完成的。
相反ScrollView'的'爲什麼不ü嘗試用['名單View'] (http://developer.android.com/guide/topics/ui/layout/listview.html)任何特定的原因和加載圖像使用['volley'](http://developer.android.com/training/volley /request.html)或['picasso'](http://square.github.io/picasso/) – kId
我對android比較陌生,我從來沒有聽說過ListView。會自動滾動嗎? – user3707803
當然,它會滾動'垂直' – kId