آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

ساخت گالری عکس ساده با GrideView (ضروری)

Shadow  10 سال پیش  10 سال پیش
+1 0

دوستان کسی منبعی ، کدی ، فیلمی ، سراغ نداره که یه گالری عکس ساده رو با استفاده از گرید ویو با استفاده از عکس های داخل پوشهasset

0 0
گرید ویو دقیقا مثل لیست ویو هست و همون کد هایی که برای لیست ویو نوشتید رو برای گرید ویو مینویسید . (10 سال پیش)
+3 0
لینک (10 سال پیش)
0 0
محسن جان لینکی که دادی خیلی مفید بود فقط یه مشکلی داره وقتی روی آیتم ها کلیک می کنی به اکتیویتی دیگه نمی ره و بعضی مواقع میاد بیرون از برنامه توی آموزش هم سوال کرده بودند ولی من جوابی پیدا نکردم می تونی دلیلش رو بفرمایید؟ (10 سال پیش)
0 0
من ازش استفاده نکردم تا حالا، اما خب بگرد نمونه زیاد هست. چیزی که میخای و میتونی پیدا کنی... (10 سال پیش)
0 0
دقیقا چیزیه که می خواستم ولی روی اندروید 2.2 خوب کار می کنه ولی روی اندروید 4 به بالا کار نمی کنه (10 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
Shadow  10 سال پیش
0 0

پاسخ به سوال 
cormen2  10 سال پیش
0 0

لینکی که  آقای محسن علیزاده معرفی کردند بسیار خوب بود. من یه مشکلی دارم :  من برای نمایش در هر ایتم  gridView   کلا سه نوع تصویر با سه رنگ مختلف دارم. می خوام برای هر کدوم hover  مختص خودشو بزارم. یعنی تصویر زیرش عوض شه . کدی که برای تابع  getData نوشتم بصورت زیره ولی عمل نمیکنه. 

 private ArrayList<ImageItem> getData() {

final ArrayList<ImageItem> imageItems = new ArrayList<>();

String GrayUri = "@drawable/img_grid_gray_item";
String GrayUriDarker = "@drawable/img_grid_gray_darker_item";
String RedUri = "@drawable/img_grid_red_item";
String RedUriDarker = "@drawable/img_grid_red_darker_item";
String GreenUri = "@drawable/img_grid_green_item";
String GreenUriDarker = "@drawable/img_grid_green_darker_item";

int imageResourceGray = getResources().getIdentifier(GrayUri, null, getPackageName());
int imageResourceGrayDarker = getResources().getIdentifier(GrayUriDarker, null, getPackageName());
int imageResourceRed = getResources().getIdentifier(RedUri, null, getPackageName());
int imageResourceRedDarker = getResources().getIdentifier(RedUriDarker, null, getPackageName());
int imageResourceGreen = getResources().getIdentifier(GreenUri, null, getPackageName());
int imageResourceGreenDarker = getResources().getIdentifier(GreenUriDarker, null, getPackageName());

StateListDrawable statesRed = new StateListDrawable();
statesRed.addState(new int[] {android.R.attr.state_pressed},
getResources().getDrawable(imageResourceRedDarker));
statesRed.addState(new int[]{},
getResources().getDrawable(imageResourceRed));

StateListDrawable statesGray = new StateListDrawable();
statesGray.addState(new int[] {android.R.attr.state_pressed},
getResources().getDrawable(imageResourceGray));
statesGray.addState(new int[]{},
getResources().getDrawable(imageResourceGrayDarker));

StateListDrawable statesGreen = new StateListDrawable();
statesGreen.addState(new int[] {android.R.attr.state_pressed},
getResources().getDrawable(imageResourceGreen));
statesGreen.addState(new int[]{},
getResources().getDrawable(imageResourceGreenDarker));


for (int i = 0; i < livePuzzleInfos.size(); i++) {

if(livePuzzleInfos.get(i).score == -1) {
imageItems.add(new ImageItem(statesGray, livePuzzleInfos.get(i).id));
}

if(livePuzzleInfos.get(i).score> 0) {
imageItems.add(new ImageItem(statesGreen, livePuzzleInfos.get(i).id));
}

if(livePuzzleInfos.get(i).score == 0) {
imageItems.add(new ImageItem(statesRed, livePuzzleInfos.get(i).id));
}
}
return imageItems;
}
پاسخ به سوال 
cormen2  10 سال پیش
0 0

کد تمیز ترش اینه : (کار کرد ولی یکی رو که تاچ کنی یکی دیگه رنگش عوض میشه) : 

 private ArrayList<ImageItem> getData() {

final ArrayList<ImageItem> imageItems = new ArrayList<>();

String GrayUri = "@drawable/img_grid_gray_item";
String GrayUriDarker = "@drawable/img_grid_gray_darker_item";
String RedUri = "@drawable/img_grid_red_item";
String RedUriDarker = "@drawable/img_grid_red_darker_item";
String GreenUri = "@drawable/img_grid_green_item";
String GreenUriDarker = "@drawable/img_grid_green_darker_item";

int imageResourceGray = getResources().getIdentifier(GrayUri, null, getPackageName());
int imageResourceGrayDarker = getResources().getIdentifier(GrayUriDarker, null, getPackageName());
int imageResourceRed = getResources().getIdentifier(RedUri, null, getPackageName());
int imageResourceRedDarker = getResources().getIdentifier(RedUriDarker, null, getPackageName());
int imageResourceGreen = getResources().getIdentifier(GreenUri, null, getPackageName());
int imageResourceGreenDarker = getResources().getIdentifier(GreenUriDarker, null, getPackageName());

StateListDrawable statesRed = new StateListDrawable();
statesRed.addState(new int[] {android.R.attr.state_pressed},getResources().getDrawable(imageResourceGray));
statesRed.addState(new int[] {android.R.attr.state_focused},getResources().getDrawable(imageResourceGray));
statesRed.addState(new int[]{},getResources().getDrawable(imageResourceRed));

StateListDrawable statesGray = new StateListDrawable();
statesGray.addState(new int[] {android.R.attr.state_pressed},getResources().getDrawable(imageResourceGreen));
statesGray.addState(new int[] {android.R.attr.state_focused},getResources().getDrawable(imageResourceGreen));
statesGray.addState(new int[]{},getResources().getDrawable(imageResourceGray));

StateListDrawable statesGreen = new StateListDrawable();
statesGreen.addState(new int[] {android.R.attr.state_pressed}, getResources().getDrawable(imageResourceGray));
statesGreen.addState(new int[] {android.R.attr.state_focused}, getResources().getDrawable(imageResourceGray));
statesGreen.addState(new int[]{}, getResources().getDrawable(imageResourceGreen));


for (int i = 0; i < livePuzzleInfos.size(); i++) {

if(livePuzzleInfos.get(i).score == -1) {
imageItems.add(new ImageItem(statesGray, livePuzzleInfos.get(i).id));
}

if(livePuzzleInfos.get(i).score> 0) {
imageItems.add(new ImageItem(statesGreen, livePuzzleInfos.get(i).id));
}

if(livePuzzleInfos.get(i).score == 0) {
imageItems.add(new ImageItem(statesRed, livePuzzleInfos.get(i).id));
}
}
return imageItems;
}

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .