(R.dimen.padding_medium) ¿No se puede resolver o no es un campo?
Estoy intentando crear una nueva aplicación de estilo galería desde que Gallery se depreció.
El problema principal que tengo es que cuando intento ejecutar el código siguiente no puedo sacudir el error "dimen no se puede resolver o no es un campo". He leído algún sitio web y algunos posts aquí que dicen que es para importar "import com.example.test.R"; Sin embargo incluso con eso el error persiste si cualquier persona podría ayudarlo sería asombroso.
- Cambiar estilo de borde en Galería
- Android: Cómo consultar una lista de nombre de cubo
- Imágenes de selección de Android de la galería
- Android - Obtener imágenes de la galería Samsung S4 / S5
- Cómo abrir un álbum en la aplicación Galería con una intención
Gall.java:
package com.example.test; import android.app.Activity; import android.os.Bundle; import android.support.v4.view.ViewPager; public class Gall extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_gall); ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager); ImgAdapt adapter = new ImgAdapt(this); viewPager.setAdapter(adapter); } }
Activity_gall.xml:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <android.support.v4.view.ViewPager android:id="@+id/view_pager" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout>
ImgAdapt.java:
package com.example.test; import android.content.Context; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; public class ImgAdapt extends PagerAdapter { Context context; private int[] GalImages = new int[] { R.drawable.one, R.drawable.two, R.drawable.three }; ImgAdapt(Context context){ this.context=context; } public int getCount() { return GalImages.length; } public boolean isViewFromObject(View view, Object object) { return view == ((ImageView) object); } public Object instantiateItem(ViewGroup container, int position) { ImageView imageView = new ImageView(context); int padding = context.getResources().getDimensionPixelSize(R.dimen.padding_medium); imageView.setPadding(padding, padding, padding, padding); imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); imageView.setImageResource(GalImages[position]); ((ViewPager) container).addView(imageView, 0); return imageView; } public void destroyItem(ViewGroup container, int position, Object object) { ((ViewPager) container).removeView((ImageView) object); } }
Lotes de código, lo siento si es una pregunta vaga, pero el 'dimen' en la línea
int padding = context.getResources().getDimensionPixelSize(R.dimen.padding_medium);
Es la única parte que me está dando un error.
- Android: OutofMemoryError: el tamaño de mapa de bits supera el presupuesto de VM sin ninguna razón que pueda ver
- Galería de imágenes de url en android?
- Android ViewPager con páginas anteriores y siguientes visibles?
- Android: Galería de Webviews
- La imagen, guardada en sdcard, no aparece en la aplicación Galería de Android
- Selección de varias fotos de la galería de imágenes de un dispositivo mediante PhoneGap
- Recuperando sólo imágenes de la galería al disparar la intención del selector de imágenes de Android
- Cómo vaciar o limpiar dinámicamente la memoria heap en mi código
Creo que estoy tarde para responder, pero puede ser útil para futuras referencias.
Debes definir padding_medium en tu archivo res-> values-> dimens.xml.
Por ejemplo:
<dimen name="padding_medium">5dp</dimen>
Me enfrenté a un error similar hoy y la solución fue la adición
import com.yourpackagename.R;