おえかきのテンプレート作成しました #12

Merged k-fujii merged 1 commit into nitta-lab-2021:master from nitta-lab-2021:kuraokaテンプレート作成 on 5 Jun 2021
Showing 9 changed files
View
18
app/src/main/AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.ntlab.acanthus_client">
 
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
 
<application
android:name=".Acanthus"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="Acanthus"
android:usesCleartextTraffic="true"
android:networkSecurityConfig="@xml/network_security_config"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Acanthus">
android:theme="@style/Theme.Acanthus"
android:usesCleartextTraffic="true">
<activity android:name=".views.Paint.PaintActivity"></activity>
<activity android:name=".views.Login.LoginScreenActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
 
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".views.MainActivity"
android:label="@string/title_activity_main">
</activity>
android:label="@string/title_activity_main" />
</application>
<uses-permission android:name="android.permission.INTERNET" />
 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 
</manifest>
View
1
■■■■
app/src/main/java/org/ntlab/acanthus_client/views/Login/LoginScreenActivity.java
import org.ntlab.acanthus_client.databinding.ActivityLoginScreenBinding;
import org.ntlab.acanthus_client.entities.AccountTokenJson;
import org.ntlab.acanthus_client.resources.accounts.LoginRest;
import org.ntlab.acanthus_client.views.MainActivity;
import org.ntlab.acanthus_client.views.Paint.PaintActivity;
 
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
View
26
app/src/main/java/org/ntlab/acanthus_client/views/Main_menu_ui/edit/EditFragment.java
package org.ntlab.acanthus_client.views.Main_menu_ui.edit;
 
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
 
import org.ntlab.acanthus_client.databinding.FragmentMakeBinding;
 
import org.ntlab.acanthus_client.R;
import org.ntlab.acanthus_client.databinding.FragmentEditBinding;
import org.ntlab.acanthus_client.views.Paint.PaintActivity;
 
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
 
public class EditFragment extends Fragment {
 
private EditViewModel editViewModel;
private FragmentMakeBinding binding;
private FragmentEditBinding binding;
 
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
editViewModel =
new ViewModelProvider(this).get(EditViewModel.class);
 
binding = FragmentMakeBinding.inflate(inflater, container, false);
binding = FragmentEditBinding.inflate(inflater, container, false);
View root = binding.getRoot();
 
final TextView textView = binding.textMake;
editViewModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() {
public void onDestroyView() {
super.onDestroyView();
binding = null;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
Button appButton = view.findViewById(R.id.Paint_button);
appButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), PaintActivity.class);
startActivity(intent);
}
});
}
}
View
74
app/src/main/java/org/ntlab/acanthus_client/views/Paint/MyPaint.java 0 → 100644
package org.ntlab.acanthus_client.views.Paint;
 
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
 
import androidx.annotation.Nullable;
 
public class MyPaint extends View {
 
private Path path;
private Paint paint;
 
public MyPaint(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
 
//1)コンストラクタ(≒必需品)
path = new Path();//線を引いたり、図形を描いたり、要するにグラフィック
 
paint = new Paint();//筆の種類
paint.setColor(Color.RED);//色の指定
paint.setStyle(Paint.Style.STROKE);//線をひく
paint.setStrokeWidth(20);//幅
 
}
 
//2)onDraw(描画の準備/プロペラが回りだした状態)
 
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawPath(path,paint);
}
 
 
//3)実際の操縦 (条件分岐:押したとき、動かしたとき、放した時)
 
@Override
public boolean onTouchEvent(MotionEvent event) {
//(3-1)座標を取得(x座標、y座標)
float x = event.getX();
float y = event.getY();
 
//(3-2)タッチの処理
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
path.moveTo(x,y);
invalidate();
break;
case MotionEvent.ACTION_MOVE:
path.lineTo(x,y);
invalidate();
break;
case MotionEvent.ACTION_UP:
break;
}
 
//return super.onTouchEvent(event);
return true;
}
 
 
//4)クリア処理
public void clearCanvas(){
path.reset();
invalidate();
}
 
}
View
29
app/src/main/java/org/ntlab/acanthus_client/views/Paint/PaintActivity.java 0 → 100644
package org.ntlab.acanthus_client.views.Paint;
 
import androidx.appcompat.app.AppCompatActivity;
 
import android.graphics.PorterDuff;
import android.os.Bundle;
import android.view.View;
 
import org.ntlab.acanthus_client.R;
 
public class PaintActivity extends AppCompatActivity {
 
private MyPaint myPaint;
 
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_paint);
 
//6)描画のid取得
myPaint =(MyPaint) findViewById(R.id.myCanvas);
}
 
//5)クリアメソッド(4)呼び出し
public void onClear(View view){
myPaint.clearCanvas();
}
 
}
View
26
app/src/main/res/layout/activity_paint.xml 0 → 100644
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".views.Paint.PaintActivity">
 
 
<org.ntlab.acanthus_client.views.Paint.MyPaint
android:id="@+id/myCanvas"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" />
 
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="onClear"
android:text="clear"
app:layout_constraintBottom_toBottomOf="@+id/myCanvas"
/>
 
 
</androidx.constraintlayout.widget.ConstraintLayout>
View
34
app/src/main/res/layout/fragment_edit.xml 0 → 100644
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".views.Main_menu_ui.edit.EditFragment">
 
<TextView
android:id="@+id/text_make"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:textAlignment="center"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
 
<Button
android:id="@+id/Paint_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="277dp"
android:layout_marginBottom="31dp"
android:text="Button"
app:layout_constraintBottom_toTopOf="@+id/text_make"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
View
22
app/src/main/res/layout/fragment_make.xml 100644 → 0
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".views.Main_menu_ui.edit.EditFragment">
 
<TextView
android:id="@+id/text_make"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:textAlignment="center"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
View
2
■■■
app/src/main/res/navigation/mobile_navigation.xml
<fragment
android:id="@+id/navigation_make"
android:name="org.ntlab.acanthus_client.views.Main_menu_ui.edit.EditFragment"
android:label="@string/title_make"
tools:layout="@layout/fragment_make" />
tools:layout="@layout/fragment_edit" />
<fragment
android:id="@+id/navigation_mypage"
android:name="org.ntlab.acanthus_client.views.Main_menu_ui.mypage.MyPageFragment"
android:label="@string/title_mypage"