質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

4回答

2794閲覧

【Android Studio】ButtonのTextについて

hsato

総合スコア13

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2016/01/27 03:54

お世話になっております。
Android開発は初心者で、現在勉強中のものです。

Buttonをダイア型にしようと考えております。
Buttonのプロパティにrotationの属性があり、角度を設定することで
ダイア型に見せることはできるのですが、中のTextまで傾いてしまいます。

Textの向きそのままで、Buttonのみ傾かせることは可能なのでしょうか。

※ButtonのonClickイベントや、IDを取得してButton同士の入れ替え等も考えているため、
Buttonのみでどうにかしたいと考えております。
(Buttonの上にTextViewをのせることは、今は考えておりません。)

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

文字に対してだけを回転するのは難しそうですね。
background属性に菱形の画像を使うと解決できそうですね。

投稿2016/01/27 05:27

編集2016/01/27 05:27
yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hsato

2016/01/27 09:18

yona様 ご回答ありがとうございます。 background属性に画像を設定することは思いつきませんでした。 試しに丸の画像を設定したら、私の想定していたものになりました。 ありがとうございます。
guest

0

ベストアンサー

Button自体がTextViewを拡張したもので、TextViewに色をつけて、押す際の色など、ボタンとしての仕様を持たせたものがButtonであると思われます。このことから考えて、文字をそのままに背景のButtonだけ傾けるというのは無理だと思われます。

投稿2016/01/27 04:03

swordone

総合スコア20651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hsato

2016/01/27 04:36

swordone様 ご回答ありがとうございます。 プロパティのbackgroundにxmlファイルを指定して、 shapeタグで背景色をグラデーションにしたり、角を丸くしたりできるので、 もしかしたら・・・と思ったのですが、残念です。 別の方法を考えたいと思います。
guest

0

これが正しいというわけではないと思いますが、私なりに行き着いたものを記載しておきます。

正方形のFrameLayoutを作成し、rotation属性に45度を設定し、菱形に見えるようにしました。
FrameLayoutの中にTextViewを作成し、rotation属性に-45度を設定することで、
Textの傾きを強引になくすようにしています。
これならば、FrameLayoutのtranslationX属性やtranslationY属性で移動できたり、
background属性で背景色を変えたりもできるので、私なりに使い勝手がいいものになったかなと思ってます。

<FrameLayout android:id="@+id/frame1" android:layout_width="80dp" android:layout_height="80dp" android:rotation="45.0" android:background="#FFFF00" android:translationX="20dp" android:translationY="50dp"> <TextView android:id="@+id/text1" android:layout_width="80dp" android:layout_height="80dp" android:rotation="-45.0" android:text="【文字列】" android:gravity="center"> </TextView> </FrameLayout>

ご回答をくださった方、本当にありがとうございました。

投稿2016/01/27 09:38

hsato

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ダイヤ型でTextが記載された画像を作ってButtonの背景に使うのはどうですか。

投稿2016/01/27 05:56

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hsato

2016/01/27 09:20

touhu様 質問内容に記載はしませんでしたが、 Textの中身は後で変更できるようにしたいと考えていたため、想定の回答とは違うものでした。 ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問