Comment définir la frontière à chaque Gridview Image dynamiquement
J'en veux pour preuve les différentes frontières de chaque gridview élément. comment puis-je définir la frontière de chaque élément de façon dynamique .
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<ImageView
android:id="@+id/grid_item_image"
android:layout_width="30px"
android:layout_height="30px"
android:src="@drawable/shape" >
</ImageView>
</LinearLayout>
activity_main fichier de mise en page :
<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<GridView
android:id="@+id/gridView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:numColumns="15"
android:verticalSpacing="1dp"
android:horizontalSpacing="1dp"
android:background="#f3f3f3"
>
</GridView>
</RelativeLayout>
Classe Principale:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridView = (GridView) findViewById(R.id.gridView1);
gridView.setAdapter(new ImageAdapter(this));
gridView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
Toast.makeText(
getApplicationContext(),
/*((TextView) v.findViewById(R.id.grid_item_label)).getText() + */String.valueOf(position), Toast.LENGTH_SHORT).show();
ImageView imageView = (ImageView) v.findViewById(R.id.grid_item_image);
imageView.setBackgroundColor(Color.BLUE);
}
});
Classe D'Adaptateur:
public class ImageAdapter extends BaseAdapter {
private Context context;
public ImageAdapter(Context context) {
this.context = context;
}
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View gridView;
if (convertView == null) {
gridView = new View(context);
gridView = inflater.inflate(R.layout.mobile, null);
} else {
gridView = (View) convertView;
}
return gridView;
}
@Override
public int getCount() {
return 300;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
}
MODIFIER
j'ai ajouté un fichier de forme pour mon design personnalisé fichier
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@null" />
<stroke android:width="1dp" android:color="#000000" />
<padding android:left="1dp" android:top="1dp" android:right="1dp"
android:bottom="1dp" />
</shape>
essayez cette stackoverflow.com/questions/3263611/...
en utilisant ce cela sera même pensionnaire à chaque image, puis-je régler ce, de façon dynamique où l'image est contraignant, je vous fait éventail de couleurs et puis je vais au de là des frontières.
l'essayer, je n'ai pas fait cela. donner votre idée d'essayer
en utilisant ce cela sera même pensionnaire à chaque image, puis-je régler ce, de façon dynamique où l'image est contraignant, je vous fait éventail de couleurs et puis je vais au de là des frontières.
l'essayer, je n'ai pas fait cela. donner votre idée d'essayer
OriginalL'auteur Rohit | 2013-06-14
Vous devez vous connecter pour publier un commentaire.
Enregistrer un
XML
fichier dans votreDrawable
dossier avec ce code :Maintenant l'utiliser comme un
background
de votreimage view
et de définir votre iamges commebackground resources
OriginalL'auteur Vipul Purohit
À l'intérieur de votre classe ImageAdapter --> getView(...) la méthode, ajouter cette ligne avant
return gridView;
déclarationModifier
Également ajouter
android:layout_margin="10dp"
dans votre affichage de l'image...Prendre ce pour ref.. Dans le lien fourni frontière est appliquée à la grille complète de la vue , mais sa donne une idée de frontière, utilisez ma logique mentionné pour atteindre cet..
Espère que cela aide..
je veux mettre Frontière de la couleur de l'arrière-plan de couleur
Vous devez choisir la couleur de fond et aussi de mettre en
android:layout_margin="10dp"
pour imageView, il ressemblera à une frontièreR u blague monsieur.... je veux mettre de la Frontière de façon dynamique à chaque image... j'ai déjà mis une simple frontière, mais j'ai besoin de le changer dans le fichier java, je vais faire un tableau de couleurs et jeu selon sa position
Également édité le post
OriginalL'auteur CRUSADER
OriginalL'auteur Vinit M