Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android的代码中将图像添加到LinearLayout_Android_Android Linearlayout_Android Imageview_Center - Fatal编程技术网

在Android的代码中将图像添加到LinearLayout

在Android的代码中将图像添加到LinearLayout,android,android-linearlayout,android-imageview,center,Android,Android Linearlayout,Android Imageview,Center,我有一个图像列表,我需要在页面上一个接一个地显示,所有这些都包含一些文本。我在文件的xml中添加了与该文本相关的部分(一些文本视图)。因为我需要调用服务来获取图像URL,所以我在代码中将图像添加到该线性布局中。我使用此代码使用图像的url获取图像,并将其添加到布局中(在AsyncTask实现的onPostExecute部分) /** *使用图像url下载图像并在ImageView中显示 */ 私有类DownloadImageTask扩展了AsyncTask{ 公共下载ImageTask(){ 超

我有一个图像列表,我需要在页面上一个接一个地显示,所有这些都包含一些文本。我在文件的xml中添加了与该文本相关的部分(一些文本视图)。因为我需要调用服务来获取图像URL,所以我在代码中将图像添加到该线性布局中。我使用此代码使用图像的url获取图像,并将其添加到布局中(在AsyncTask实现的onPostExecute部分)

/**
*使用图像url下载图像并在ImageView中显示
*/
私有类DownloadImageTask扩展了AsyncTask{
公共下载ImageTask(){
超级();
}
受保护位图doInBackground(无效…arg0){
字符串urlDisplay=mDocumentUrls.get(mDocumentIdx);
mDocumentIdx=mDocumentIdx+1;
位图bmp=null;
试一试{
InputStream in=newjava.net.URL(urlDisplay.openStream();
bmp=位图工厂.decodeStream(in);
}捕获(例外e){
e、 printStackTrace();
}
返回bmp;
}
受保护的void onPostExecute(位图结果){
//我们在页面的LinearLayout中添加一个新的ImageView并设置它
//下载图像的源代码
ImageView newImageView=newImageView(getActivity());
LinearLayout.LayoutParams params=新的LinearLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_内容,
RelativeLayout.LayoutParams.WRAP_内容);
参数setMargins(convertDpToPx(20)、convertDpToPx(5)、convertDpToPx(20)、0);
newImageView.setImageBitmap(结果);
mDocumentDetailsLayout.addView(newImageView,参数);
//下一张图片
if(mDocumentIdx
这是页面的xml(与LinearLayout相关的部分)


希望这有助于…使u r imageView获得中心对齐

img.setScaleType(ImageView.ScaleType.CENTER_CROP);  

任何问题仍然存在,请让我知道…

我建议您尝试相对布局,而不是线性布局。线性布局有自己的大脑,这在其他方面是好的,但有时它会把事情搞砸

您应该更改图像的参数,使其与文本下方对齐


对于第二个,如果您使用的是线性布局,则应使宽度与父布局和填充匹配。

您是否尝试将
android:layout\u gravity=“top | center(u horizontal“
添加到
线性布局中?
?没有帮助。谢谢你的回答。我解决了第一个问题。我将空的RelativeLayout添加到现有的LinearLayout中,并将图像添加到该RelativeLayout中,但我无法在纵向视图中找出这些边距。我猜您试图将相同的
布局
属性添加到
滚动视图中?我的配置和你的相同,我没有这个问题。另外,您确定在横向和纵向模式下使用相同的xml文件吗?如果是,您是否尝试在一种模式下使用不同的文件?您是指我的第二个问题吗?
<ScrollView
        android:id="@+id/details_form"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/splashScreenGray
        android:visibility="gone" >
        <LinearLayout
            android:id="@+id/details_form_content"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/splashScreenGray"
            android:clickable="false"
            android:orientation="vertical"  ...
img.setScaleType(ImageView.ScaleType.CENTER_CROP);