- 投稿日:2019-04-11T23:46:05+09:00
DroidKaigi2019 - Android Studio 設定見直してみませんか?のアウトプット
DroidKaigi2019の公開されている動画を見てて
「おーこれは使えそう」という機能がいくつかあったので記録に残す動画
DroidKaigi 2019 - Android Studio 設定見直してみませんか? / shiraji [JA] - YouTube
https://www.youtube.com/watch?v=MV14DDxv6DEセッション内容
- 自分専用のアクションリストを作ってみる
- !=をカッコ良く
- 通知周り
- File Color
- Kotlinのファイルフォーマット忘れ防止
- 急に別の言語書きたくなった時のストレス発散方法
- JSON書きやすくする
- Run Configurationや.ideaの共有
- Layout Editor
- Pluginのインストールの強制
自分専用のアクションリストを作ってみる
Quick lists
自分専用のポップアップが作ることができ、Android Studioの機能を自由に追加できる。keymapを追加すると簡単に呼び出せる (⌘ + option + iを設定中)
設定パス
Preferences | Appearance & Behavior | Quick Lists
感想
なかなか便利!
ショートカットがない機能を追加して使用する、あるいはショートカットを覚えられない機能の使用に使えそう。!=をカッコ良く
fontの話
Android Studioのフォントを変えて != や == を直感的に表示する感想
いらないかな
通知周り
Android Studioの特定の処理が終わったらNotificationを表示できる
Gradle syncをBalloonにすると、Syncが終わったらバルーンで通知がでる設定パス
Preferences | Appearance & Behavior | Notifications
感想
なかなか便利そう
Syncが終わったのに気付かずQiitaを見続けることがなくなる(はず)File Color
バンドルの環境別にファイル/タブの色をかえれる
Debugのファイルを編集したかったのに、Releaseを編集していた、というミスがなくなる設定パス
Preferences | Appearance & Behavior | File Colors
感想
これはぜひ導入したい
(たまにやらかしてたりするし)Kotlinのファイルフォーマット忘れ防止
コード書いてる途中のフォーマット未適用のコードに警告やエラーを表示できる。
設定パス
Preferences | Editor | Inspections
Kotlin > Style issues > File is no formatted according to project settings
をEnableにして、色をError(赤)に設定する
未フォーマットのコードがエラー表示になるコードの色をWarningにした場合
未フォーマット箇所が黄色になっている感想
まあまあ便利
色をエラー(赤)にすると、コードのエラーなのか未フォーマットなのか区別つかず分かりにくい。
Warning(黄)表示にするといいかもしれないフォーマット対象外にしたい時
Preferences | Editor | Code Style
Enable formatter markers in comments をEnableにするbreak point
Conditionでブレークポイントが止まる条件を指定できるが、簡単に消せてしまうので、それを防ぐ設定がある
設定パス
Preferences | Build, Execution, Deployment | Debugger
Confirm removal of conditional or logging breakpoints をEnableにする
これで式があるブレークポイントを消す時に確認ポップアップがでる感想
これは便利、常時Enableでも害はなさそう
JSON書きやすくする
String変数をJsonとして扱いたい時、inject laungageで便利に修正できるようになる。
例えばこんなコードvar json = "{ \"name\":\"ikemura\",\"github\":\"@ikemura\" } "文字にカーソルを当ててoption + enter
ポップアップが出たら inject laungage or reference を選んでEnter(▶でメニューを展開させないで)
JSONを選ぶこれでこの文字列はJsonとしてIDEに認識される
何が便利かというと、Android StudioでJsonのエディタが使えるようになる
Json化した変数の文字の上でoption + EnterEdit JSON Fragment を選択すると、JSON Fragmentというエディタが表示される
JSON Fragmentで項目を追加すると自動で文字がエスケープされるので便利
ダブルクォーテーションも勝手につけてくれるしねソースコード上では普通の文字列と見た目が変わらないので、
@Language("JSON")を追加する@Language("JSON") var json = "{ \"name\":\"ikemura\",\"github\":\"@ikemura23\" } "この
@Language("JSON")を自動で追加する設定を有効にするには
Preferences | Editor | Language Injections | Advanced
Add @Launguage annotation or comment if needed を Enableにする
これでinject laungageをすると、@Language("JSON")が自動で付与される感想
めちゃ便利そう
Jsonを扱う機会がたまにあるので、その時に真価を発揮するかもLayout Editor
下タブのTextタブが左にくる、Designタブが右になる(順が入れ替わる)
設定パス
Preferences | Editor | Layout Editor
Prefer XML editor をEnableにする感想
地味な変更だが、これは良い
初めにレイアウトxmlを開くとDesignタブが勝手にひらいて「お前じゃない、俺はTextタブがみたいんだ!」となることを防げる。copy preferences
Android Studioの設定をひらき、左のメニューの上で右クリックすると
Copy Preferences path をクリックする
設定のパスがクリップボードにコピーされる感想
この動画で一番の収穫
これで設定場所をスクショで保存する場面が減る
深い設定場所まではコピーできないので、スクショが必要な場面もあるPluginのインストールの強制
Android Studioを起動すると、足りないプラグインをインストールするポップアップがでる
Event Logにもエラーログが出る設定パス
Preferences | Build, Execution, Deployment | Required Plugins
+でプラグインを選択して、追加感想
そこまで設定するならPluginを直接インストールしたらいいのに、と思うかもしれないが、
おそらくAndroid Studioの設定ファイルをチームメンバーに共有して、Plugin使用を義務付けたり、簡単にPluginをシェアする際に便利なんだろうなと。
- 投稿日:2019-04-11T23:19:05+09:00
AndroidStudioのエミュレーターを作る
なんとなく最近の検索事情を調べていたら、『あ!この記事書きたいカモ!』と思ったので書いてみました。(。・ω・。)
さあ!やって見よう!『AndroidStudioのエミュレーターを作る(作成する)』の会!
ちなみにAndroidStudioのエミュレーターを作りたいのシチュエーションとして
『あ〜code書いたなー!再生。再生っと!あれ、何もない!!』
って感じと思ってます。作らないといけないので作りましょう!では早速!!
端末を決める
・ないはずなので、『Create New Virtual Device』をタップ
ここに表示されているものですか?以前私が作ったものです。一番上は今使っているもの。
今はここに何もないことにしてください。何もありません。
・好きな端末選ぶ
Androidユーザーじゃないとこれ??って思うかもしれませんがAndroidにはiPhoneと違い色々な会社がおのおのにデバイス作っているのでそれを選んであげてください!
選びたい放題です!!OS決める
・次にその端末で使うOSを決めます
携帯でも、なんでもバージョンとやらがあるじゃないですか?それです!!
最新はどうやら『Q』なのかと思いますが、とりあえずLevel(バージョン)を一つ下げて『API Level 28』を使用することにしました!!
『Pie』とか言うやつです!!
バージョンが今まだない状態なのでその隣の青文字『Download』タップでバージョンのダウンロードが開始されます。時間かかることもあります。その時は気長に待ちましょう!!
・『Finish』する
ダウンロードが終わると『Finish』が押せるようになるのでタップして、フィニッシュしちゃってください。
合体させる!
・名前はそのままで『Next』
いい感じに名前付いているので編集しないでそのまま『Next』でいいと思います。
後は、選択して『OK』をタップすると起動します!!
- 投稿日:2019-04-11T22:46:44+09:00
Unityのandroidバイナリのgradleビルドで、DexArchiveMergeExceptionが出た時の対処法
はじめに
UnityのAndroid gradleビルドで下画像のようなDexArchiveMergeExceptionが出た時の
対処法を示します。
なぜこのエラーが出るのか
Unityで色々なpluginなどを入れていくと、プラグイン用のgradleのファイルであるmainTemplate.gradleなどに書いてあるダウンロードモジュールと、他のpluginのjarファイルや、たのgradleファイルのテンプレートと衝突してしまうことが起こり、このエラーが起きてしまうようである。
解決方法
- 手順1
Unityでビルドする際、Build Settingのところで、Export Projectにチェックを入れ Android Studio用のプロジェクトを生成する![]()
- 手順2
Android Stdudioで先ほど出力したプロジェクトを開いておく、Android StuidoのPreferencesのところでKotlin Compilerの所を選択し 下の画像のように
Additional command line parametersに
--info
-stacktrace
を追加する![]()
- 手順3
手順2で開いていたプロジェクトをMake Projectでビルドすると下の画像のようなエラー(今回の場合は、support.v4ライブラリが原因であったことがわかる)が表示され、モジュールが多重定義されていたことがわかる。![]()
- 手順4
Unityのほうに戻り、mainTemplateを編集するなり、重複しているjarなりaarなりを削除する。終わりに
今回のAndroid Stduioのほうにビルドでしてみてエラーを解決する方法は、他のエラーを除去
するテクニックにも使えるかもしれません。
- 投稿日:2019-04-11T22:25:27+09:00
Gsonはデフォルトではnullなフィールドをシリアライズしない
調べたのでメモ。
題名の通り、GsonはオブジェクトをJSONに変換する際、デフォルトではnullのフィールドをシリアライズしない。
nullのフィールドをシリアライズしたい場合、GsonBuilder#serializeNulls()を使用する。サンプルコード
MainActivity.ktclass MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val data = Data("nonnull", "nullable", null) val gson1 = Gson() val json1 = gson1.toJson(data) Log.d(TAG, json1) // => {"nonNullProp":"nonnull","nullableProp1":"nullable"} val gson2 = GsonBuilder().serializeNulls().create() val json2 = gson2.toJson(data) Log.d(TAG, json2) // => {"nonNullProp":"nonnull","nullableProp1":"nullable","nullableProp2":null} } data class Data( val nonNullProp: String, val nullableProp1: String?, val nullableProp2: String? ) companion object { private const val TAG = "MainActivity" } }参考URL
- 投稿日:2019-04-11T18:12:31+09:00
android lintで javax.xml.bind.JAXBException がでる
新しいPCを手に入れたぞ! (社用)
AndroidLintをCIに入れようと思って、ローカルでLintを回そうとしたら謎のエラーが出て詰まった。
./gradlew lint --stacktrace ...(省略) Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBExceptionAndroid Studioのinspectは通るのになんでや...
と小一時間調べた結果、ローカル環境でPathが通っているJavaのバージョンがよくないらしい。
https://sun0range.com/information-technology/jaxb-exceptionAndroid StudioはビルトインのJavaを使っているからIDEでのInspectは問題ないけど、
gradlewスクリプトで実行するとグルーバルにPATHが通っているJavaが使われるのかな?対処方法
以下を参考にJavaのバージョン下げた。
https://qiita.com/seijikohara/items/56cc4ac83ef9d686fab2
jenvとか使えばここら辺楽になるのかしら。。。
(javaのバージョン管理システムって使いづらかった印象あるから入れてない)
- 投稿日:2019-04-11T17:12:45+09:00
【2019年4月版】NativeScript+Angularで新時代を感じた
NativeScript でハイブリッドアプリの開発に入門してみました。
ちょっと興奮冷めやらぬ感じですが、NativeScript で Angular のサンプルを Android で動かしてみたらこれはもうもってかれた感すごかったのでご紹介いたします。(語彙力)
対象環境
- PC: Windows 10 Pro
- スマホ: Android
- IDE: VSCode
今回は Android スマホで動作確認しましたが、たぶん iOS も同様の手順で大丈夫かと思います。
また、環境構築で例によって管理者権限でコマンドプロンプトを実行する必要あります。NativeScript の環境構築
管理者権限でコマンドプロンプトを立ち上げ、以下のコマンドを叩きます。
> @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://www.nativescript.org/setup/win'))"インストールの確認が出るので適宜
yを指定してください。めんどくさい場合はaを指定して都度の確認をスキップできます。
最後のAVDの確認だけは別途、yが必要でした。
上記のスクリプトで事前に必要な環境はすべてインストールしてくれるはずです。(あら便利。。。)いったんコマンドプロンプトを終了し、再度、管理者権限でコマンドプロンプトを立ち上げます。
以下のコマンドで、NativeScript本体のインストールを行います。> npm i -g nativescript > tns doctor
tnsコマンドが見つからない旨のエラーが発生した場合はコマンドプロンプトを再度立ち上げなおしてみてください。
tns doctorで必要な環境が整っているかチェックしてくれます。とくに文句がないようであればVSCodeを立ち上げてさっそく開発モードに入りましょう。Angular でのサンプルプロジェクトの作成
VSCodeのターミナルを起動し、以下のコマンドでさっそく最初のNativeScrit+Angular アプリを作成しましょう!
$ tns create my-angular-app --ngプロジェクト作成時に「匿名の使用状況送信していいですか~?」って聞かれるので
nとしておきます。プロジェクトが作成し終わったら表示されるご案内の通りに以下のコマンドを入力します。
$ cd my-angular-app $ tns previewしばらくすると・・・で、でっかいQRコードが表示されました?!
マジすか?w
ただし、ご案内をよく読むと "NativeScript Playgroud アプリをインストールしてね!" ってことなので、渋々従います。(以降、私は Android 版をダウンロードして確認してますが、iOSでも同様かと思います。)
GoogleのストアからNativeScriptを検索して
NativeScript Playgroudアプリをインストール(・・・自分で検索しなきゃダメなの?)
しばらくしてダウンロードが終わり、NativeScript PlaygroudアプリからQRコードを読み込ませると、"NativeScript Preview App を入れてね!"と案内が出ます。(いや、先に言えってw)渋々従います。再び、Googleのストアから
NativeScript Previewアプリをインストールします。しばらくして、ダウンロードが終わると勝手に何かが立ち上がり・・・ん??なんか出た?
最初は意味が分かりませんでしたが・・・
しばらくして、以下のコードを発見しました。
function ItemService() { this.items = new Array( { id: 1, name: 'Ter Stegen', role: 'Goalkeeper' }, { id: 3, name: 'Piqué', role: 'Defender' }, { id: 4, name: 'I. Rakitic', role: 'Midfielder' }, { id: 5, name: 'Sergio', role: 'Midfielder' }, { id: 6, name: 'Denis Suárez', role: 'Midfielder' }, { id: 7, name: 'Arda', role: 'Midfielder' }, ...え・・・ウソ。。。このリストが自分のスマホに出てる・・・?
半信半疑で以下のようにリストを変えてみます。
item.service.ts... { id: 7, name: 'Arda', role: 'Midfielder' }, { id: 8, name: 'A. Iniesta', role: 'Midfielder' }, { id: 9, name: 'スアレス', role: 'Forward' }, { id: 10, name: 'メッシ', role: 'Forward' }, { id: 11, name: 'ネイマール', role: 'Forward' }, { id: 12, name: 'Rafinha', role: 'Midfielder' }, { id: 13, name: 'Cillessen', role: 'Goalkeeper' }, ...
Ctrl+Sでファイルを保存すると・・・
直ちにAndroid側のPreviewアプリが勝手に再起動?し・・・変わってるーーーーーーーーーーーーー!!!!!w
えっ?!ちょっ!?ナニコレ!?試しに
スアレスをタップしてみると・・・しょ・・・詳細画面、出てる!!!
何回か試しましたが、PC画面でVSCodeでリストを更新し
Ctrl+Sをすると、手元のAndroidのPreviewアプリに即座に反映されます。。。ビュー側の更新も・・・
items.component.html<ActionBar title="FCバルサのリスト" class="action-bar"> </ActionBar>こちらはアプリの再起動なしで、表示がアップデートされてます。。。
なんか、完全に新時代来ちゃってるわ・・・よし!と、とりあえずこの興奮をQiitaにぶん投げておこう!(←イマココ)
というわけで引き続きいろいろ試してみたいと思います!!
本家サイトのセットアップ手順について
以下の本家サイトにWindowsでのセットアップ手順が書かれていましたが・・・
- https://docs.nativescript.org/angular/start/ns-setup-win最終的には、というか手順の途中で必要なsetupスクリプトが
404になっていました。
そこでgithubのsetup-scriptをリポジトリを確認してみると・・・
- https://github.com/NativeScript/setup-scripts実際のスクリプトは以下ですが、なにやら
Chocolateyやgooglechromeもインストールしています。
https://github.com/NativeScript/setup-scripts/blob/master/native-script.ps1これはセットアップ手順に書いてあった
Prerequiresそのまんまじゃないですかー。
README.md にfor Windows: @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://www.nativescript.org/setup/win'))"
とありますので、はい・・・これでOKよ、ということらしいです。
iOSもここにrubyのスクリプトがありますのでサクッとインストールできるかと思います。
それでは、実験に戻りたいと思います!
- 投稿日:2019-04-11T17:12:45+09:00
【2019年4月版】NativeScript+Angularで感じた新時代
NativeScript でハイブリッドアプリの開発に入門してみました。
ちょっと興奮冷めやらぬ感じですが、NativeScript で Angular のサンプルを Android で動かしてみたらこれはもうもってかれた感すごかったのでご紹介いたします。(語彙力)
対象環境
- PC: Windows 10 Pro
- スマホ: Android
- IDE: VSCode
今回は Android スマホで動作確認しましたが、たぶん iOS も同様の手順で大丈夫かと思います。
また、環境構築で例によって管理者権限でコマンドプロンプトを実行する必要あります。NativeScript の環境構築
管理者権限でコマンドプロンプトを立ち上げ、以下のコマンドを叩きます。
> @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://www.nativescript.org/setup/win'))"インストールの確認が出るので適宜
yを指定してください。めんどくさい場合はaを指定して都度の確認をスキップできます。
最後のAVDの確認だけは別途、yが必要でした。
上記のスクリプトで事前に必要な環境はすべてインストールしてくれるはずです。(あら便利。。。)いったんコマンドプロンプトを終了し、再度、管理者権限でコマンドプロンプトを立ち上げます。
以下のコマンドで、NativeScript本体のインストールを行います。> npm i -g nativescript > tns doctor
tnsコマンドが見つからない旨のエラーが発生した場合はコマンドプロンプトを再度立ち上げなおしてみてください。
tns doctorで必要な環境が整っているかチェックしてくれます。とくに文句がないようであればVSCodeを立ち上げてさっそく開発モードに入りましょう。Angular でのサンプルプロジェクトの作成
VSCodeのターミナルを起動し、以下のコマンドでさっそく最初のNativeScrit+Angular アプリを作成しましょう!
$ tns create my-angular-app --ngプロジェクト作成時に「匿名の使用状況送信していいですか~?」って聞かれるので
nとしておきます。プロジェクトが作成し終わったら表示されるご案内の通りに以下のコマンドを入力します。
$ cd my-angular-app $ tns previewしばらくすると・・・で、でっかいQRコードが表示されました?!
マジすか?w
ただし、ご案内をよく読むと "NativeScript Playgroud アプリをインストールしてね!" ってことなので、渋々従います。(以降、私は Android 版をダウンロードして確認してますが、iOSでも同様かと思います。)
GoogleのストアからNativeScriptを検索して
NativeScript Playgroudアプリをインストール(・・・自分で検索しなきゃダメなの?)
しばらくしてダウンロードが終わり、NativeScript PlaygroudアプリからQRコードを読み込ませると、"NativeScript Preview App を入れてね!"と案内が出ます。(いや、先に言えってw)渋々従います。再び、Googleのストアから
NativeScript Previewアプリをインストールします。しばらくして、ダウンロードが終わると勝手に何かが立ち上がり・・・ん??なんか出た?
最初は意味が分かりませんでしたが・・・
しばらくして、以下のコードを発見しました。
function ItemService() { this.items = new Array( { id: 1, name: 'Ter Stegen', role: 'Goalkeeper' }, { id: 3, name: 'Piqué', role: 'Defender' }, { id: 4, name: 'I. Rakitic', role: 'Midfielder' }, { id: 5, name: 'Sergio', role: 'Midfielder' }, { id: 6, name: 'Denis Suárez', role: 'Midfielder' }, { id: 7, name: 'Arda', role: 'Midfielder' }, ...え・・・ウソ。。。このリストが自分のスマホに出てる・・・?
半信半疑で以下のようにリストを変えてみます。
item.service.ts... { id: 7, name: 'Arda', role: 'Midfielder' }, { id: 8, name: 'A. Iniesta', role: 'Midfielder' }, { id: 9, name: 'スアレス', role: 'Forward' }, { id: 10, name: 'メッシ', role: 'Forward' }, { id: 11, name: 'ネイマール', role: 'Forward' }, { id: 12, name: 'Rafinha', role: 'Midfielder' }, { id: 13, name: 'Cillessen', role: 'Goalkeeper' }, ...
Ctrl+Sでファイルを保存すると・・・
直ちにAndroid側のPreviewアプリが勝手に再起動?し・・・変わってるーーーーーーーーーーーーー!!!!!w
えっ?!ちょっ!?ナニコレ!?試しに
スアレスをタップしてみると・・・しょ・・・詳細画面、出てる!!!
何回か試しましたが、PC画面でVSCodeでリストを更新し
Ctrl+Sをすると、手元のAndroidのPreviewアプリに即座に反映されます。。。ビュー側の更新も・・・
items.component.html<ActionBar title="FCバルサのリスト" class="action-bar"> </ActionBar>こちらはアプリの再起動なしで、表示がアップデートされてます。。。
なんか、完全に新時代来ちゃってるわ・・・よし!と、とりあえずこの興奮をQiitaにぶん投げておこう!(←イマココ)
というわけで引き続きいろいろ試してみたいと思います!!
本家サイトのセットアップ手順について
以下の本家サイトにWindowsでのセットアップ手順が書かれていましたが・・・
- https://docs.nativescript.org/angular/start/ns-setup-win最終的には、というか手順の途中で必要なsetupスクリプトが
404になっていました。
そこでgithubのsetup-scriptをリポジトリを確認してみると・・・
- https://github.com/NativeScript/setup-scripts実際のスクリプトは以下ですが、なにやら
Chocolateyやgooglechromeもインストールしています。
https://github.com/NativeScript/setup-scripts/blob/master/native-script.ps1これはセットアップ手順に書いてあった
Prerequiresそのまんまじゃないですかー。
README.md にfor Windows: @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://www.nativescript.org/setup/win'))"
とありますので、はい・・・これでOKよ、ということらしいです。
iOSもここにrubyのスクリプトがありますのでサクッとインストールできるかと思います。
それでは、実験に戻りたいと思います!
ビルドの手順について追記
Playgroundアプリで遊んだだけではダメなので、ちゃんとパッケージとしてビルドしましょう。
はい、以下のコマンドです。
$ tns build androidもしくは、
$ tns build iosで、
my-angular-app\platforms\android\app\build\outputs\apk\debug\app-debug.apkが出力されます。なんか・・・いろいろ、大変だったのになぁ。。。
ここで紹介した
tnsコマンドの使い方は以下のnpmサイトに載っています。いや、ホント、進化してるのね・・・
- 投稿日:2019-04-11T14:39:31+09:00
android abd shell で Permission denied がでて見れないざます
android開発していた必ず一度はハマっことがあるのではないでしょうか?
abd shellで /data/dataとcdするとそのあとなにもできない。
./adb shell generic_x86:/ $ cd /data generic_x86:/data $ cd data generic_x86:/data/data $ ls ls: .: Permission denied 1|generic_x86:/data/data $そんなときはこれ
1|generic_x86:/data/data $ run-as (パッケージ名) generic_x86:/data/data/(パッケージ名) $ ls cache code_cache databases files shared_prefs見れた。よかったよかった。。
パッケージ名はMainActivitiyの一番上の
package xxxxxxxまたは
android manifestの<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="xxxxx">ここら辺をみればわかります。 ※xxxxxのぶぶんですね。
だいたい。com.example.システム名とかになってんじゃないですかね?例)
package="com.example.hoge" なら、コマンドは
run-as com.example.hoge ですね。では。
- 投稿日:2019-04-11T14:27:41+09:00
android PreferenceFragmentCompatのEditTextPreferenceを改行させないようにする方法
なかなか調べても出てこなかったので、
EditTextPreferenceで改行ができてしまい、すこし操作性が悪かったので
改行をできなくするようにする方法です。というよりはDialogで呼ばれるEditTextのレイアウトを指定する方法です。
preferences.xml
<EditTextPreference android:dialogLayout="@xml/prefernce_custom_edittext" android:key="userName" android:title="ユーザー名" />android:dialogLayoutを設定します。
prefernce_custom_edittext.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:id="@android:id/edit" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingLeft="18dp" android:paddingRight="18dp" android:inputType="text|textNoSuggestions" /> </LinearLayout>これで普段扱っているように自由にカスタマイズできます。
改行できない!よかったよかった!




























