Skip to content

Commit 382ae32

Browse files
Farbcode kann jetzt auch in Zwischenablage kopiert werden
1 parent 534e7fb commit 382ae32

5 files changed

Lines changed: 50 additions & 3 deletions

File tree

app/src/main/java/de/mide/android/komplementaerfarben/MainActivity.java

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import static android.widget.Toast.LENGTH_LONG;
44
import static android.widget.Toast.makeText;
55

6+
import android.content.ClipData;
7+
import android.content.ClipboardManager;
68
import android.os.Bundle;
79
import android.util.Log;
810
import android.view.Menu;
@@ -120,13 +122,43 @@ public boolean onOptionsItemSelected( MenuItem item ) {
120122
neueFarbenErzeugen();
121123
return true;
122124

125+
} else if ( selectedMenuId == R.id.actionbar_zwischenablage ) {
126+
127+
farbenInZwischenablageKopieren();
128+
return true;
129+
123130
} else {
124131

125132
return super.onOptionsItemSelected( item );
126133
}
127134
}
128135

129136

137+
/**
138+
* Aktuelle Farb-Codes in Zwischenablage kopieren
139+
*/
140+
private void farbenInZwischenablageKopieren() {
141+
142+
ClipboardManager clipboard = (ClipboardManager)
143+
getSystemService( CLIPBOARD_SERVICE );
144+
145+
if ( clipboard == null ) {
146+
147+
makeText( this, R.string.toast_clipboard_nicht_gefunden, LENGTH_LONG ).show();
148+
return;
149+
}
150+
151+
152+
ClipData clip =
153+
ClipData.newPlainText(
154+
getString( R.string.clipboard_titel ),
155+
_zweiFarbenViewModel.toString()
156+
);
157+
158+
clipboard.setPrimaryClip( clip );
159+
}
160+
161+
130162
/**
131163
* Methode zum Erzeugen von zwei neuen Farben.
132164
*/

app/src/main/java/de/mide/android/komplementaerfarben/ZweiFarbenViewModel.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ private static String rgb2hex ( int rgbCode ) {
135135
/**
136136
* String mit beiden Farb-Codes.
137137
*
138-
* @return Hex-Codes der beiden Strings, z.B. "#F59864 und #0A679B"
138+
* @return Hex-Codes der beiden Strings, z.B. "#F59864 / #0A679B"
139139
*/
140140
@Override
141141
public String toString() {
@@ -146,7 +146,7 @@ public String toString() {
146146

147147
} else {
148148

149-
return getFarbe1Hex() + " und " + getFarbe2Hex();
149+
return getFarbe1Hex() + " / " + getFarbe2Hex();
150150
}
151151
}
152152

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#FFFFFF" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
2+
3+
<path android:fillColor="@android:color/white" android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM19,5L8,5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h11c1.1,0 2,-0.9 2,-2L21,7c0,-1.1 -0.9,-2 -2,-2zM19,21L8,21L8,7h11v14z"/>
4+
5+
</vector>

app/src/main/res/menu/actionbar_eintraege.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,10 @@
1616
<!-- wegen "withText" wird der Text zusätzlich zum Icon angezeigt,
1717
wenn genügend Platz vorhanden ist. -->
1818

19+
<item
20+
android:id="@+id/actionbar_zwischenablage"
21+
android:icon="@drawable/baseline_content_copy_24"
22+
android:title="@string/actionbar_neu"
23+
app:showAsAction="always|withText" />
24+
1925
</menu>

app/src/main/res/values/strings.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@
22

33
<string name="app_name">Komplementärfarben</string>
44

5-
<string name="actionbar_neu">Neue Farbe</string>
5+
<string name="actionbar_neu">Neue Farben erzeugen</string>
6+
<string name="actionbar_zwischenablage">In Zwischenablage kopieren</string>
7+
8+
<string name="clipboard_titel">Zwei komplementäre Farben</string>
69

710
<string name="toast_actionbar_nicht_gefunden">Fehler: ActionBar nicht gefunden</string>
11+
<string name="toast_clipboard_nicht_gefunden">Fehler: Zwischenablage nicht verfügbar</string>
812

913
</resources>

0 commit comments

Comments
 (0)