伸手党,请教各位一个动态生成弹出窗口界面的问题!

fxyfx 2017-07-21 11:06:25
新手,需要弹出一个界面,界面中只需要一个ScrollView,在ScrollView中动态显示大小相同,数量不定的ImageView,ImageView以两列显示,每个ImageView添加一个点击响应事件!弹出界面会,动态显示和添加事件不会,麻烦各位大侠耽误一小会时间,写个代码出来,不胜感激!
...全文
219 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jing丶無雙 2017-07-24
  • 打赏
  • 举报
回复
引用 11 楼 fxyfx 的回复:
@Jing丶无双 按照您写的示例我添加完来,但是PopupWindow出来的是一个空视图 ,用的是showAtLocation方法,请问是哪里的问题呢?
代码贴出来,我看下嘛
fxyfx 2017-07-21
  • 打赏
  • 举报
回复
@Jing丶无双 按照您写的示例我添加完来,但是PopupWindow出来的是一个空视图 ,用的是showAtLocation方法,请问是哪里的问题呢?
fxyfx 2017-07-21
  • 打赏
  • 举报
回复
@Jing丶无双 十分感谢,我试试先
Jing丶無雙 2017-07-21
  • 打赏
  • 举报
回复
至于图片大小适应性什么的,你就自己调下吧。网上查查,这些都不难
Jing丶無雙 2017-07-21
  • 打赏
  • 举报
回复
代码:
LinearLayout scroll = (LinearLayout) findViewById(R.id.scroll);// 这个线性布局在ScrollView里面声明
		int[] imgIds = { R.drawable.xia, R.drawable.xia, R.drawable.xia,
				R.drawable.xia, R.drawable.xia, R.drawable.xia, R.drawable.xia,
				R.drawable.xia, R.drawable.xia, R.drawable.xia, R.drawable.xia,
				R.drawable.xia, R.drawable.xia };// 这里COPY任意图片ID
		// 实例化一个LinearLayout
		LinearLayout linearLayout = null;
		for (int i = 0; i < imgIds.length; i++) {
			if (i % 2 == 0) {// 每2个ImageView放在一个新生成的LinearLayout里面
				linearLayout = new LinearLayout(this);
				// 设置LinearLayout属性(宽和高)
				LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
						LinearLayout.LayoutParams.MATCH_PARENT,
						LinearLayout.LayoutParams.WRAP_CONTENT);
				// 将以上的属性赋给LinearLayout
				linearLayout.setLayoutParams(layoutParams);
				linearLayout.setOrientation(LinearLayout.HORIZONTAL);
			}
			// 实例化一个TextView
			ImageView iv = new ImageView(this);
			// 设置宽高以及权重
			LinearLayout.LayoutParams tvParams = new LinearLayout.LayoutParams(
					0, 500, 1);
			iv.setLayoutParams(tvParams);
			iv.setImageResource(imgIds[i]);
			if (linearLayout != null) {
				linearLayout.addView(iv);
				if (i % 2 != 0 || i == imgIds.length - 1) {// 每两个ImageView添加到scroll里面,并判定总数是奇数个的时候直接加进来
					scroll.addView(linearLayout);
				}
			}

		}
Jing丶無雙 2017-07-21
  • 打赏
  • 举报
回复
布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <LinearLayout
            android:id="@+id/scroll"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >
        </LinearLayout>
    </ScrollView>

</LinearLayout>
xiaoxiao701111 2017-07-21
  • 打赏
  • 举报
回复
你这要直接的代码?应该不会有的
fxyfx 2017-07-21
  • 打赏
  • 举报
回复
因为只知道大概,不知道细节!
fxyfx 2017-07-21
  • 打赏
  • 举报
回复
引用 2 楼 fxyfx 的回复:
额,代码比较乱,初学,我需要的就是动态生成一个视图,视图的内容就是上面提到的!
谢谢! 我知道这个实现的方法,但是代码写不出来,所以在这里求代码!
game_dream 2017-07-21
  • 打赏
  • 举报
回复
动态显示的话可以通过代码生成ImageView去实现,点击事件直接调用setOnClickListener去实现。 (感觉上通过这两个方法是可以实现楼主的需求的,我也是个萌新,有什么问题请指出)
fxyfx 2017-07-21
  • 打赏
  • 举报
回复
额,代码比较乱,初学,我需要的就是动态生成一个视图,视图的内容就是上面提到的!
Jing丶無雙 2017-07-21
  • 打赏
  • 举报
回复
你把你写好的代码贴出来,我们再指导你不会的部分,岂不更好

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧