- -pv
スレッドの閲覧状況:
現在、- がスレを見ています。
これまでに合計 - 表示されました。
※PC・スマホの表示回数をカウントしてます。
※24時間表示がないスレのPVはリセットされます。

Androidプログラミング

※ID非表示スレ
1名無しさん@おーぷん:2015/04/05(日)23:44:46 ID:???
Androidプログラミングに関するもろもろで語りましょう。
闇の深すぎるAndroidプログラミングに、少しでも光が差しますように。

Android関係でも、もし専門スレが立った場合は、そちらを利用することをお勧めします。
2名無しさん@おーぷん :2015/04/05(日)23:49:53 ID:???
メニュー、というかAndroid用語で言えばAction Barを作っていて、ちょっと凝った感じにしたくなった。
メニューとしてポップアップされる文字の左側にアイコンくらい欲しいなと思ったのですが、これがうまく表示されない。

res/menu/main.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/hogehoge"
android:orderInCategory="100"
android:showAsAction="never"
android:icon="@*android:drawable/ic_menu_view"
android:title="@string/menu_hogehoge"/>
</menu>

android:showAsAction="ifRoom" とすると指定した ic_menu_view が Action Buttons 領域に出るけど、
今やりたいのは…を押して出る中、つまり常にAction Overflowの中に表示することなので、ここは "never" とします。
しかしこうすると、どう頑張ってもアイコンが表示されないという悩ましいことに。
どこかにヒントはないでしょうか?

Android 5.0でも4.2でも動きは同様でした。なおFragmentを使ったアプリです。
Menu自体はMainActivityで設定中ですが、特に何も変なことはしていないつもりです。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
3名無しさん@おーぷん :2015/04/10(金)01:30:59 ID:???
Eclipseで作ったTabbed ActivityをLollipopのMaterial Designにするには
どうしたらいいのかと思っていたが、どうやら手作業でなんとかなるらしい。

Android Material Design な TabHost + ViewPager に移行する
http://y-anz-m.blogspot.jp/2014/12/androidmaterial-design-tabhost-viewpager.html

ここには書かれていないけど、Action Overflowをロングタップしたときにripple effectが
付いたりするのだろうか?
あと出来るかどうか不明だけど、ListView全部にripple effect付けるとか大変そう
4名無しさん@おーぷん :2015/04/13(月)14:16:19 ID:???
Androidアプリは、バージョンは格納できるけど、日付を格納する
方法はあるのだろうか

android:versionCode="1"
android:versionName="1.00"

とかはいいとして、作成した日付もどこかに保存したいのだけど。
面倒だけど文字列リソースとかにするしかないのかな
5名無しさん@おーぷん :2015/04/13(月)16:02:42 ID:???
マテリアルデザインにするのは、意外に簡単だった。

rex/values-v21/style.xml



<resources>
<style name="AppBaseTheme" parent="android:Theme.Material.Light.DarkActionBar" />
</resources>

みたいなデザインを用意すればよい。次の3種類があるらしい。

android:Theme.Material
android:Theme.Material.Light
android:Theme.Material.Light.DarkActionBar

ただ、これでタブUIにすると、タブの下に表示される線が細すぎてよく見えない。
調べると、API21以降では ActionBar の代わりに ToolBar が追加され、
ActionBar.Tabは非推奨になったが代替は提供されていないらしい。


タブの置き換え方法とかをみつけた。
http://qiita.com/nein37/items/b869193ee583a96f86a8
http://genestream.hatenablog.com/entry/2014/12/03/100940

下のURLの説明によれば、代替は
PagerTabStrip
GoogleのSampleのSlidingTabStripやSlidingTabLayout
PagerSlidingTabStrip

があるらしいが、PagerSlidingTabStrip が現実的らしい。
PagerSlidingTabStrip のライセンスは Apache License 2.0 だった。

こちらに移行するしかないのかな。
6名無しさん@おーぷん :2015/04/13(月)16:03:28 ID:???
>>5
訂正

-rex/values-v21/style.xml
+res/values-v21/style.xml
7名無しさん@おーぷん :2015/04/16(木)00:13:44 ID:???
さっそくPagerSlidingTabStripを使ってみようと思ったのだが、
Android Studioでのやり方は書かれていても、Eclipseでの
やり方がどこにも書かれていない。

Android Studioなんて使いたくないのだが、どうしたらよいのか
8名無しさん@おーぷん :2015/06/22(月)21:27:09 ID:???
保守
9名無しさん@おーぷん :2015/07/24(金)23:37:21 ID:???
お仕事でAndroidアプリ作ってる俺様が来ましたよ

ってドヤ顔しに来たのに
人いねぇなここ
10名無しさん@おーぷん :2015/07/26(日)11:55:54 ID:???
たまには覗いてる

のんびり人を呼び込んでいきましょうや
11名無しさん@おーぷん :2015/08/21(金)00:19:59 ID:???
ActivityからFragmentを作って画面を表示するけど、画面構成を
大幅に更新するため、一旦Activityに処理を遷移したい場合、
どうしたらいいのだろう

Fragmentから親ActivityにIntentでも飛ばせば良いのかなとは
思うけど、方法が分からない
12名無しさん@おーぷん :2015/08/21(金)00:53:02 ID:???
>>11
Activityが取れるんだから、
Activityに適当なinterfaceでもimplementsしてやって
それ経由で処理をしてもらえば良いのだ

ていうか俺はそうやってる
13名無しさん@おーぷん :2015/08/21(金)01:06:28 ID:???
>>12
interfaceですか。
始めたばかりでまだ使ったことの無い機能ですが、調べて試してみます。
14名無しさん@おーぷん :2015/08/21(金)21:25:32 ID:???
Android wear アプリって本当に
Android Studio が無いと作成出来ないんかね?

気がつかずにEclipseでもりもり作成してたが、今のところ支障無し。
尚、まだビルドまではしてない模様。
15名無しさん@おーぷん :2015/08/21(金)22:06:04 ID:???
今でもEclipseで作ってるよ
Android Studio は完成度が気に入らない。
16名無しさん@おーぷん :2015/08/22(土)00:53:44 ID:???
意外と簡単にFragmentから、その親Activityに通知することができたのでメモしておく。

Fragmentでボタンを押したら、その親である MainActivity に通知するようにしてみた。
要するに、getActivity() でActivityのインスタンスを取得して、そのpublicメソッドを呼べばよいだけだった。
親子関係が確実ならこれ以上無いシンプルな方法だと思う。

■Fragment側

@Override
public void onClick(View v) {
  MainActivity activity = (MainActivity)getActivity();
  activity.onButtonClicked(v.getId());
}

■MainActivity側

public void onButtonClicked(int id) {
  Log.v("TEST", "CLICK! " + id);
}

個人的には大変満足しました。
17名無しさん@おーぷん :2015/08/22(土)22:49:42 ID:???
ボタンの形状を維持したまま簡単に色を変える方法ってないのかな

setBackgroundColor() 使うと、ボタンの形がなくなってただの四角になってしまう。
18名無しさん@おーぷん :2015/08/24(月)03:06:18 ID:???
>>17
そりゃあボタンの背景は画像だからねぇ
19名無しさん@おーぷん :2015/08/24(月)18:58:41 ID:???
>>18
つまり、方法なしってことですか…
20名無しさん@おーぷん :2015/09/29(火)01:22:50 ID:???
誰かいる?
22名無しさん@おーぷん :2015/09/29(火)21:28:11 ID:???
はい
23名無しさん@おーぷん :2015/11/17(火)20:07:48 ID:???
誰もおらん...
24名無しさん@おーぷん :2015/11/23(月)20:43:34 ID:???
おるよ
25名無しさん@おーぷん :2015/12/16(水)20:37:13 ID:???
ACTION_SEND_MULTIPLEを受け取るのにACTION_SENDを受け取らないアプリwww

…手抜くなよ
26名無しさん@おーぷん :2015/12/18(金)13:12:17 ID:???
FragmentTransaction#addToBackStackメソッドに渡すタグ名って何なんだよ
どの日本語ページもさらっとnull入れて誤魔化しやがって
誰か教えてくれよって書き込もうと思って
その前にちょっと調べてみるかと思い直して
Androidのソースから調べたら色々理解できましたありがとうございました
っていうただの雑談となってしまった
27忍法帖【Lv=2,ミミック,UkA】 :2016/02/17(水)20:30:52 ID:???
ageられるようになったので、ageておきます
28名無しさん@おーぷん :2016/02/20(土)23:27:36 ID:???
Androidのレイアウトの設定で、スマートフォンの横では適用されない
けどタブレットの横の場合に適用される方法ってあるでしょうか。
タブレットだと横が広すぎるので、左右にマージンを入れたいと
思っているのです。

res/layout-land-xxxhdpi とかに置いて見たけど、残念ながら
スマホでもこれが適用されてしまって失敗した。
29名無しさん@おーぷん :2016/02/21(日)07:07:31 ID:???
代わりにsmall, normal, large, xlargeを使えばいいと思うよ

> xlarge screens are at least 960dp x 720dp
> large screens are at least 640dp x 480dp
> normal screens are at least 470dp x 320dp
> small screens are at least 426dp x 320dp

http://developer.android.com/images/screens_support/screens-ranges.png


Android3.2からは
sw<N>dp
w<N>dp
という表記も使えるらしい

http://developer.android.com/intl/ja/guide/practices/screens_support.html
30名無しさん@おーぷん :2016/02/22(月)01:54:03 ID:???
おおおおお
ありがとうございます!
おかげ様でうまくいきました。

とりあえず成功までの経緯をメモ。

7インチタブレット(Nexus 7)だと xlarge で反応せず large にしないと
いけなかったけど、そうするとスマートフォンとかも反応してしまうので、
これは失敗
調べると、この方法はAndroid3.2以降は非推奨らしい。

次に、w<N>dp を試す。

適当に res/layout-w600dp-land としてみたところ、残念ながら
自分のスマホも該当したらしく失敗
次に layout-w700dp-land としたら、スマホは非適用になり、
7インチタブレットは適用されたので成功。
ただ700は中途半端なので、layout-w720dp-land としたところ、
これも成功したので、これを採用することにしました。
31名無しさん@おーぷん :2016/03/16(水)14:34:33 ID:???
dosでandroidのプログラムってできる?
32名無しさん@おーぷん :2016/03/17(木)00:21:35 ID:???
プログラムを書くだけならできるのでは
ビルド環境がなさそうだけど
33名無しさん@おーぷん :2016/04/12(火)21:29:02 ID:???
Android Studio 2.0の安定版が出たから使ってみた
速くなったことが売りらしいがよく分からないな

何度かインストールを試したら突然ClassNotFoundエラーが出たという
(アンインストールして再インストールしたら直った)
使うのは時期尚早だったか
34名無しさん@おーぷん :2016/04/12(火)22:28:13 ID:???
私はHTML+ CSS+JavaScript+PhoneGapでAndroid app開発を勉強中。
35名無しさん@おーぷん :2016/04/12(火)22:29:55 ID:???
URLを張るのを忘れた。
↓がPhoneGapについての日本語サイト
http://phonegap-fan.com/
36名無しさん@おーぷん :2016/04/27(水)00:17:50 ID:???
>>32
NDKってarmのアセンブラで作れる?
37名無しさん@おーぷん :2016/04/27(水)00:34:52 ID:???
TinyCCならイケるんだろうか?
38忍法帖【Lv=2,キラービー,GW7】 :2016/05/17(火)13:26:43 ID:???
セキュリティ問題を修正したAndroid Studio 2.1.1がリリースされたとメールが届いた。
39名無しさん@おーぷん :2016/09/01(木)22:03:53 ID:???
久々に見に来たが、相変わらず人がいないのう...
40名無しさん@おーぷん :2016/09/03(土)22:37:08 ID:???
>>39
いるぞ
41名無しさん@おーぷん :2016/09/04(日)13:18:43 ID:???
>>40
居るなら何か書いたってやww
寂れる一方じゃないのここ

俺はこれからHttpURLCnnectionの勉強を始めるところなんだがな
始めたばかりで質問することもない
42名無しさん@おーぷん :2016/09/06(火)22:58:15 ID:???
最近Androidさわってないんだよなあ
そういやAndroid 7が発表されたな
画面分割機能はわりと便利そう
43名無しさん@おーぷん :2017/05/18(木)11:30:41 ID:???
[速報]「Kotlin」がAndroidの正式な開発言語に。開発元のJetBrainsとGoogleが「Kotlin財団」の設立も計画。Google I/O 2017
http://www.publickey1.jp/blog/17/kotlinandroidjetbrainsgooglegoogle_io_2017.html

> 発表に合わせて、今日リリースされた「Android Studio 3.0」の最初の開発版となる「Android Studio 3.0 Canary 1」でKotlinのサポートが行われました。
https://android-developers.googleblog.com/2017/05/android-studio-3-0-canary1.html
44名無しさん@おーぷん :2017/05/18(木)11:43:17 ID:???
Android Oで:
Google、「Project Treble」でAndroidアップデートの“時差”解消へ
http://www.itmedia.co.jp/mobile/articles/1705/15/news063.html

Android OSのフレームワークとベンダーの実装が分離されて、OSの更新時にベンダーがパッチを当てる必要がなくなる
45名無しさん@おーぷん :2017/11/23(木)20:09:57 ID:???
>>43
Android Studio 3.0の安定版がリリースされた

「Android Studio 3.0」がリリース、Kotlinでの開発を正式にサポート 2017/10/26
https://codezine.jp/article/detail/10511

Android Studio 3.0とOreo 8.1
https://www.infoq.com/jp/news/2017/11/android-studio-3-oreo-8-1
46名無しさん@おーぷん :2018/02/19(月)15:42:58 ID:???
Tabを使った設計の古いアプリ、そろそろ作り直そうかと思ってて調べてる
今は古いActionBar.Tabを使ってて、これを新しくしていきたい。

Android StudioでTabアプリを新規作成するとTabLayoutになるからTabLayoutを使うのが無難だというのは分かる。

ただ、ActionBar.Tabだとタブレットの横画面など画面に余裕があるときはアクションバーにタブが入ってくれたけど、
TabLayoutでも同様のことは可能なのだろうか?
XMLでレイアウト作るところをみると、無理そうに思えるのだが、これって機能が劣化してるよね
47名無しさん@おーぷん :2018/02/20(火)01:52:15 ID:???
Android Studioで新規作成してプログラム作ってて気づいたけど、
extends Activityだと画面の一番上にアプリ名もメニューも出ないんだな。
よく分からんけどandroid.support.v7.app.AppCompatActivityをextendsしてやらないと従来のようなアプリができない。
当たり前のアプリを作るのにヘンテコなサポートライブラリかまさないといけないなんて理解に苦しむ。

更に、メニューでandroid:showAsAction="always" にしてもなぜか常時表示されずneverと同じ動きだなぁ。
alwaysなんて使わないでフローティングボタン使え!ってことなのか。
ただ前はなにやっても表示されなかったメニューのアイコンが表示できるようになったのは良いかな。
48名無しさん@おーぷん :2018/02/20(火)02:34:59 ID:???
>>47
android:showAsActionをapp:showAsActionにしたら常時表示できるようになった。
メニューのアイコンも、itemに入れ子にしたmenuの中のアイコンは表示されるけど、入れ子にしてないitemのアイコンは表示されないようだ。謎
49名無しさん@おーぷん :2018/06/27(水)22:26:36 ID:???
Androidでプログラムを書いています。

Android Studioのタブビュースタイルを選んでできたデフォルト状態を少し改造して、
左側からメニューが出てくるプログラム(DrawerとかNavigationとかいうやつ)を作ろうとしています。

ここで、Activityのレイアウト全体を android.support.v4.widget.DrawerLayout で囲むとか、
実際に開閉するオブジェクトとして android.support.design.widget.NavigationView を置くとか、
必要な基本的なことはネットを参考にして全てやったつもりです。

で、実際に開閉するところまではできたのですが、表示されたメニューをタップしてもそれを受け取るイベントが何も発生しないのです。

NavigationView navigation_view = (NavigationView)findViewById(R.id.navigation_view);
navigation_view.setNavigationItemSelectedListener(
 new NavigationView.OnNavigationItemSelectedListener() {
  @Override
  public boolean onNavigationItemSelected(MenuItem item) {
   //ここにこない
   return true;
  }
});

数多あるサンプルを見る限りだと、メニューをタップするとonNavigationItemSelected()が呼ばれるように見えるのですが、実際はそうではないようです。

何かが足りないのでしょうか。
50名無しさん@おーぷん :2018/06/28(木)09:01:36 ID:???
動くプロジェクトをどこかから丸ごとコピーして、少しずつ自分の作りたいものに変えていけばどこが悪いのかわかるかもね
51名無しさん@おーぷん :2018/06/28(木)14:37:55 ID:???
動くプロジェクトを実際にビルドして動かしてみて分かったことは、
タブを使ういまのプログラムだと、開かれたViewに対してタップイベントが発生しないってこと

NavigationViewではなくRecyclerViewを使ったサンプルでも同様でした。
OnClickListenerを設定してもonClickが呼び出されない。

開くときはするタップ音も、閉じる時にはしていないので、どこかでイベントが吸い取られているんだろうか。

サンプルはどれも普通にActivityだけど、自分が作ろうとしているプログラムは
AppCompatActivityなのが大きな違いのような気はします。
何かご存じの方いませんか
52名無しさん@おーぷん :2018/06/28(木)16:07:31 ID:???
ああ・・・やっとわかった・・・

びよーんって出てくるViewは、android.support.v4.widget.DrawerLayoutの一番最後に書かないといけない。
最初とか途中とかに書いたらダメだったんだ。

これで何とかなるわ

新着レスの表示 | ここまで読んだ

名前: mail:





Androidプログラミング
CRITEO