- Posts no fórum: 1
17/07/2016, 07:21:08 via Web
17/07/2016 07:21:08 via Web
Olá Levi.
Estou com o seguinte problema nas mãos,
Estou realizando um projeto para Crianças Autistas, o que é uma criança Autista, esta criança não se comunica por fala pois eles não falam só se comunica por imagem.
Então estou realizando este projeto em Tablet para disponibilizar para que porém se comunicar mais fácil.
O projeto vai ser composta de um Tablet com o programa como esta na imagem a seguir.
![image][1]
Como vou tentar fazer funcionar, vejamos que tem 6 áreas, sendo as áreas de baixo área 4, área 5 e área 6 as que conte as imagens inicias, e vão distribuir para as demais.
Porém temos umas restrições
1) A área 5 só pode envia imagens para a área 2, e somente! Se as crianças tentarem colocar as imagens da área 5 nas áreas 1 e 3, o programa deve negar ou seja não deve aceitar o arrasta e solta.
Isso também é valido para as demais áreas.
2) A área 4 só pode envia imagens para a área 1, e somente! Se as crianças tentarem colocar as imagens da área 4 nas áreas 2 e 3, o programa deve negar ou seja não deve aceitar o arrasta e solta.
3) A área 6 só pode envia imagens para a área 3, e somente! Se as crianças tentarem colocar as imagens da área 6 nas áreas 1 e 2, o programa deve negar ou seja não deve aceitar o arrasta e solta.
4) Nas áreas 1 , 2 e 3 estas áreas so devem aceitar uma e somente uma imagem.
5) Este caixa de texto embaixo eu vou tirar depois de pronto pois não tem sentido algum so esta ali pois no exemplo de onde eu tirei este código fonte esta com ela, mas esta por enquanto servindo para eu saber como esta funcionando do projeto.
os fontes que tenho são
############################## Java > MainActivitypackage ;
import java.util.ArrayList;
import java.util.List;
import android.support.v7.app.AppCompatActivity;
import android.text.method.ScrollingMovementMethod;
import android.app.Activity;
import android.content.ClipData;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.DragEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.DragShadowBuilder;
import android.view.View.OnDragListener;
import android.view.View.OnLongClickListener;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
LinearLayout area1, area2, area3, area4, area5, area6;
TextView prompt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
area1 = (LinearLayout) findViewById(R.id.area1);
area2 = (LinearLayout) findViewById(R.id.area2);
area3 = (LinearLayout) findViewById(R.id.area3);
area4 = (LinearLayout) findViewById(R.id.area4);
area5 = (LinearLayout) findViewById(R.id.area5);
area6 = (LinearLayout) findViewById(R.id.area6);
prompt = (TextView) findViewById(R.id.prompt);
// make TextView scrollable
prompt.setMovementMethod(new ScrollingMovementMethod());
//clear prompt area if LongClick
prompt.setOnLongClickListener(new OnLongClickListener(){
@Override
public boolean onLongClick(View v) {
prompt.setText("");
return true;
}});
TypedArray arrayResources = getResources().obtainTypedArray(
R.array.resicon);
for (int i = 0; i < arrayResources.length(); i++) {
ImageView imageView = new ImageView(this);
imageView.setImageDrawable(arrayResources.getDrawable(i));
imageView.setOnLongClickListener(myOnLongClickListener);
area4.addView(imageView);
//area5.addView(imageView);
//area6.addView(imageView);
}
for (int i = 0; i < arrayResources.length(); i++) {
ImageView imageView = new ImageView(this);
imageView.setImageDrawable(arrayResources.getDrawable(i));
imageView.setOnLongClickListener(myOnLongClickListener);
//area4.addView(imageView);
area5.addView(imageView);
//area6.addView(imageView);
}
for (int i = 0; i < arrayResources.length(); i++) {
ImageView imageView = new ImageView(this);
imageView.setImageDrawable(arrayResources.getDrawable(i));
imageView.setOnLongClickListener(myOnLongClickListener);
//area4.addView(imageView);
//area5.addView(imageView);
area6.addView(imageView);
}
arrayResources.recycle();
area1.setOnDragListener(myOnDragListener);
area2.setOnDragListener(myOnDragListener);
area3.setOnDragListener(myOnDragListener);
area4.setOnDragListener(myOnDragListener);
area5.setOnDragListener(myOnDragListener);
area6.setOnDragListener(myOnDragListener);
}
OnLongClickListener myOnLongClickListener = new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
ClipData data = ClipData.newPlainText("", "");
DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(v);
v.startDrag(data, shadowBuilder, v, 0);
//v.setVisibility(View.INVISIBLE);
//v.startDragAndDrop(data, shadowBuilder, v, 0);
return true;
}
};
OnDragListener myOnDragListener = new OnDragListener() {
@Override
public boolean onDrag(View v, DragEvent event) {
String area;
if (v == area1){
area = "area1";
}else if (v == area2){
area = "area2";
}else if (v == area3){
area = "area3";
}else if (v == area4){
area = "area4";
}else if (v == area5){
area = "area5";
}else if (v == area6){
area = "area6";
}else {
area = "unknown";
}
switch (event.getAction()) {
case DragEvent.ACTION_DRAG_STARTED:
prompt.append("ACTION_DRAG_STARTED: " + area + "\n");
break;
case DragEvent.ACTION_DRAG_ENTERED:
prompt.append("ACTION_DRAG_ENTERED: " + area + "\n");
break;
case DragEvent.ACTION_DRAG_EXITED:
prompt.append("ACTION_DRAG_EXITED: " + area + "\n");
break;
case DragEvent.ACTION_DROP:
prompt.append("ACTION_DROP: " + area + "\n");
View view = (View)event.getLocalState();
LinearLayout oldParent = (LinearLayout)view.getParent();
oldParent.removeView(view);
LinearLayout newParent = (LinearLayout)v;
newParent.addView(view);
break;
case DragEvent.ACTION_DRAG_ENDED:
prompt.append("ACTION_DRAG_ENDED: " + area + "\n");
default:
break;
}
return true;
}
};
}
########################################################## ############################# res > layout > activity_main.xml
xmlns: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="com.amarante.autista.MainActivity">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:background="#202020"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/area4"
android:layout_width="0dp"
android:layout_height="134dp"
android:layout_weight="0.99"
android:layout_margin="4dp"
android:background="@android:color/holo_blue_light"
android:orientation="horizontal"
android:layout_gravity="bottom"
android:gravity="bottom|center" >
</LinearLayout>
<LinearLayout
android:id="@+id/area1"
android:layout_width="0dp"
android:layout_height="134dp"
android:layout_weight="0.99"
android:layout_margin="4dp"
android:background="@android:color/holo_blue_dark"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/area5"
android:layout_width="0dp"
android:layout_height="134dp"
android:layout_weight="1"
android:layout_margin="4dp"
android:background="@android:color/holo_green_light"
android:orientation="horizontal"
android:layout_gravity="bottom"
android:gravity="center" >
</LinearLayout>
<LinearLayout
android:id="@+id/area2"
android:layout_width="0dp"
android:layout_height="134dp"
android:layout_weight="1"
android:layout_margin="4dp"
android:background="@android:color/holo_green_dark"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/area6"
android:layout_width="0dp"
android:layout_height="134dp"
android:layout_weight="0.99"
android:layout_margin="4dp"
android:background="@android:color/holo_orange_light"
android:orientation="horizontal"
android:layout_gravity="bottom"
android:gravity="top|center" >
</LinearLayout>
<LinearLayout
android:id="@+id/area3"
android:layout_width="0dp"
android:layout_height="134dp"
android:layout_weight="0.99"
android:layout_margin="4dp"
android:background="@android:color/holo_orange_dark"
android:orientation="vertical" >
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical" >
<TextView
android:id="@+id/prompt"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black"
android:textColor="@android:color/white"
android:gravity="bottom" />
</LinearLayout>
</LinearLayout>
</FrameLayout>
#
############################################ res > layout > row.xml
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/rowImageView"
android:layout_gravity="center"
android:layout_width="48dp"
android:layout_height="48dp" />
<TextView
android:id="@+id/rowTextView"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
#
############################ res > values > arrays.xml
<array name="resicon">
<item>@android:drawable/ic_dialog_alert</item>
<item>@android:drawable/ic_dialog_dialer</item>
<item>@android:drawable/ic_dialog_email</item>
</array>
#
######### res > values > ids.xml
<item name="area1" type="id" />
<item name="area2" type="id" />
<item name="area3" type="id" />
<item name="area4" type="id" />
<item name="area5" type="id" />
<item name="area6" type="id" />
#
Posso enviar o projeto todo é só enviar uma e-mail pedindo para analise na caixa
lucianoa2018@gmail.com
Grato pela atenção.
Att.
Conteúdo editorial recomendado
Com o seu consentimento, o conteúdo externo é carregado aqui.
Ao clicar no botão acima, concorda que o conteúdo externo poderá ser-lhe exibido. Os dados pessoais podem ser transmitidos a fornecedores terceiros no processo. Pode encontrar mais informações sobre isto no nosso Política de Privacidade.