タグ付けされた質問 「android」

AndroidはGoogleのモバイルオペレーティングシステムであり、デジタルデバイス(スマートフォン、タブレット、自動車、TV、Wear、Glass、IoT)のプログラミングまたは開発に使用されます。Androidに関連するトピックについては、android-intent、android-activity、android-adapterなどのAndroid固有のタグを使用します。開発やプログラミング以外の質問で、Androidフレームワークに関連する質問については、次のリンクを使用してください:https:// android.stackexchange.com。


8
PreferenceFragment内の設定変更をリッスンする方法は?
ここで説明するように、PreferenceFragmentをサブクラス化して、アクティビティ内に表示しています。このドキュメントでは、ここで設定の変更をリッスンする方法について説明していますが、PreferenceActivityをサブクラス化する場合のみです。私はそれをしていないので、どのようにプリファレンスの変更をリッスンしますか? 私はPreferenceFragmentにOnSharedPreferenceChangeListenerを実装しようとしましたが、機能していないようです(呼び出されていないようですonSharedPreferenceChanged)。 これはこれまでのところ私のコードです: SettingsActivity.java public class SettingsActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Display the fragment as the main content. getFragmentManager().beginTransaction().replace(android.R.id.content, new SettingsFragment()).commit(); } } SettingsFragment.java public class SettingsFragment extends PreferenceFragment implements OnSharedPreferenceChangeListener { public static final String KEY_PREF_EXERCISES = "pref_number_of_exercises"; @Override public void onCreate(Bundle …

8
Android WebViewのフルスクリーンでHTML5ビデオを再生する
ええと、私はすでに数日探していますが、Android WebViewでHTML5ビデオを全画面モードで表示する方法を探しています。 私はなんとかHTML5ビデオをWebビューで再生できました。全画面モードでビデオを表示すると問題が発生します。 私が理解したように、androidには<video>タグを処理する方法が2つあります。 androidバージョン<= 2.3.3では、onShowCustomViewメソッドが呼び出され、VideoViewインスタンスを取得して、ビデオが完了したときにリスナーを設定したり、コントローラーなどを設定したりできます。 ICS(おそらく3.0以降)では、<video>は別の方法で処理されているようです。HTML5ビデオが再生されるとき、onShowCustomViewは通常モードで呼び出されていません-ビデオを再生するWebView内に内部ビジネスがあり、<video>タグで定義されているすべてのコントロールが表示されているようです-Iいかなる方法でもアクセスできません。実際には、ビデオが通常モードで再生される場合、コントロールが存在し、機能しているため、これで問題ありません。 そのため、大きな問題が発生しました。ビデオを全画面モードで表示すると、onShowCustomViewが呼び出されますが、ICSでは、「view」パラメーターがVideoViewのインスタンスではありません。 インスタンスがHTML5VideoFullScreenクラスのプライベート内部クラスであるVideoSurfaceViewであることがわかりました。この内部クラスにアクセスできる唯一の方法は、リフレクションを経由することです。 このクラスのGrepCodeを調べたところ、VideoViewとは異なり、HTML5VideoFullScreen $ VideoSurfaceViewは、イベントをリッスンしたり、コントロールにアクセスしたりできるMediaPlayerインスタンスを保持していないことがわかりました。私ができる唯一のことは、このVideoSurfaceViewをそのまま使用して、制御せずに全画面レイアウト内に配置することです。 結論-ビデオをフルスクリーンで表示するとき、ビデオがいつ終了するかわかりません。そのコントロールは表示されません。これはかなり悲しいことです。全画面を閉じるトリガーを取得できません。 私はいくつかの失敗した回避策を試しました: リフレクション:MediaPlayerメンバーを保持するHTML5VideoFullScreenインスタンスに、内部クラスのVideoSurfaceViewから到達しようとしました。どうにか取得できませんでした。これが可能かどうかはわかりません(ViewSurfaceViewは所有者のインスタンスを保持していません)。 Javascriptを介してビデオイベントに登録し(たとえば、オンエンディング)、JavascriptInterfaceを介してJAVAで必要なものを処理します。これを実行しているときに別の問題が発生したため、このソリューションは信頼できません:<video>タグをネストできますで。iframeソースは私のものではなく、そのコンテンツを取得できません(getElementByIdまたはgetElementsByTagName [i]はnull)-つまり、iframe内の<video>要素に到達できません。 私はまだ解決策を探していますが、この問題についてほとんど書かれていません。誰かがなんとかそれを解決できましたか?助けていただければ幸いです! VideoViewクラス:こちら(MediaPlayerあり) HTML5VideoFullScreen $ VideoSurfaceViewクラス:ここ(MediaPlayerはありません)

4
Android xmlエラー:RelativeLayout(@ id / LinearLayout_acc、@ id / ProgressBar_statusScreen)で「指定された名前に一致するリソースが見つかりません」
さて、これは本当に私を困らせ始めています。このエラーは、非常に論理的ではなく、特別な方法で表示されます。 まず、このエラーに関する他の質問についてはすでに説明しましたが、Googleも同じだと言いました。私の知る限り、ほとんどの同様の問題Stringは、同じレイアウトファイル内にないリソースまたはその他のものを参照するために発生し、「+」を「@ id +」または同様の何かに誤って配置します。 私が抱えている問題は、.xmlファイルのレイアウトで発生しますRelativeLayout。これには、テキストを含むTableLayout2つLinearLayoutのが含まれ、最後にが含まれますProgressBar。私が欲しいのは、プログレスバーを使用して相対レイアウトにandroid:layout_alignParentBottom="true"揃え、次にプログレスバーの上に2つの線形レイアウトを配置することです(一番下の線形レイアウトはプログレスバーの上に配置され、もう一方は下の線形レイアウトの上に配置されます)。 それは十分に単純でなければならず、それが機能するかのように見えます。つまり、グラフィックビューは望ましい結果を示します。しかし、ここで問題が発生し、Eclipseは2つの線形レイアウトでエラーを出します。 「エラー:指定された名前に一致するリソースが見つかりません( 'layout_above'に値 '@ id / LinearLayout_acc'で)。」 進行状況バーを参照する他の線形レイアウトについても同じエラーが発生します。タイプミスがないこと(パッケージ名.R.javaにもIDが存在すること)を3回以上確認し、プロジェクトを数十回クリーニングしようとしました。 プロジェクトの実行を決定するまでは、保存(および自動ビルド)のときにエラーが発生しません。もう1つの奇妙なことは、上部の線形レイアウトではなく、進行状況バーから下部の線形レイアウトを参照しても、エラーが発生しないことです。 私のレイアウトファイル: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/background_activity" > <TableLayout ... /> <LinearLayout android:id="@+id/LinearLayout_dist" android:layout_above="@id/LinearLayout_acc" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_marginBottom="10dp" > <TextView ... /> <TextView ... /> </LinearLayout> <LinearLayout android:id="@+id/LinearLayout_acc" android:layout_above="@id/ProgressBar_statusScreen" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" > <TextView ... /> <TextView …
92 android  xml  eclipse 

4
isInEditMode()を使用してエディターのカスタムビューでレイアウトを表示する方法
カスタムビューを持つソフトウェアを編集する必要があります。レイアウトxmlを編集しようとすると、Eclipseから次のように言われます。 カスタムビューでView.isInEditMode()を使用して、Eclipseに表示されるときにコードをスキップします しかし、私はisInEditMode()をどこでどのように使用する必要があるのかわかりませんアプリで 私のxmlファイルは <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ff000000" > <TextView android:id="@+id/result" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:textSize="32dip" android:scrollbars="none" android:lines="1" android:freezesText="true" android:textColor="@color/result" /> <EditText android:id="@+id/input" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="left" android:textSize="28dip" android:scrollbars="none" android:singleLine="true" android:autoText="false" android:imeOptions="flagNoEnterAction|flagNoExtractUi" /> <ListView android:id="@+id/history" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1" android:cacheColorHint="#ff000000" android:choiceMode="singleChoice" android:scrollbarStyle="outsideInset" android:scrollbars="none" /> <calculator.GraphView android:id="@+id/graph" android:layout_width="fill_parent" android:layout_height="0dip" …

16
Androidでのリストビューの高さの制限
の下にボタンを表示したいListView。問題は、ListView拡張された場合(アイテムが追加された場合...)、ボタンが画面から押し出されることです。 私が試したLinearLayout(で提案されているよう重みを持つの:なぜ何のmaxHeightは、ビューのために存在しない?アンドロイド、私は重みが間違っていましたか、それは単に仕事をしませんでしたどちらか)。 また、を使用するためのヒントをどこかで見つけましたRelativeLayout。次にListView、android:layout_aboveparamを使用してボタンの上に設定します。 これの問題は、後でボタンを配置する方法がわからないことです。私が見つけた例では、の下のビューListViewはを使用して調整されましたがandroid:layout_alignParentBottom、ボタンを画面の下部に固定したくありません。 setHeightメソッドの使用と必要なスペースの計算以外のアイデアはありますか? 編集: 私は多くの有用な答えを得ました。 bigstoneとuser639183のソリューションはほぼ完全に機能しました。ただし、ボタンの下部に余分なパディング/マージンを追加する必要がありました。ボタンが画面の半分まで押し出されるためです(その後停止されます)。 画面下部にボタンを固定したい場合は、相対レイアウトのみでのAdiniaの回答で問題ありません。それは私が意図したものではありませんが、それでも他の人に役立つかもしれません。 AngeloSのソリューションは、私が最後に選択したもので、私が望む効果を生み出しただけです。ただし、LinearLayoutボタンの周囲に2つの小さな変更を加えました。 まず、レイアウトに絶対値を入れたくなかったので、に変更android:layout_height="45px"しましたwrap_content。これも問題なく機能します。 次に、ボタンを水平方向の中央に配置したいので、垂直方向のみでサポートされているためLinearLayout、android:orientation = "horizo​​ntal"を "vertical"に変更しました。 AngeloSはまた、彼の最初の投稿android:layout_weight="0.1"で、LinearLayout周囲のparamがListView効果を持っているかどうかはわからないと述べました。私は試してみましたが実際にあります!なければ、ボタンは再び画面から押し出されます。

10
Androidで任意の音を鳴らす
Androidに任意の周波数の音を鳴らす方法はありますか(つまり、事前に録音されたサウンドファイルを使いたくない)。 私は周りを見回しましたが、ToneGeneratorはそれがさらに近くにあることがわかりましたが、標準のDTMFトーンしか出力できないようです。 何か案は?
92 android  audio 

6
ActionBarでカスタムビューを表示する方法
アクションバーにカスタム検索を表示したい(そのためにActionBarSherlockを使用しています)。 了解: しかし、私はカスタムレイアウト(edittextフィールド)を使用可能な幅全体を占めるようにしたいと思います。 ここで提案されているように、カスタムレイアウトを実装しました。 私のカスタムレイアウトがありますsearch.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" style="?attr/actionButtonStyle" android:layout_width="fill_parent" android:layout_height="match_parent" android:layout_gravity="fill_horizontal" android:focusable="true" > <FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical|fill_horizontal" > <EditText android:id="@+id/search_query" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="left|center" android:background="@drawable/bg_search_edit_text" android:imeOptions="actionSearch" android:inputType="text" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right|center_vertical" android:src="@drawable/ic_search_arrow" /> </FrameLayout> </LinearLayout> そしてでMyActivity: ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setDisplayShowCustomEnabled(true); actionBar.setDisplayShowTitleEnabled(false); actionBar.setIcon(R.drawable.ic_action_search); LayoutInflater inflator = …

1
Androidツールバーポップアップテーマvsテーマ
レイアウトファイルで次のツールバーの宣言がよく見られます。 <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> </android.support.v7.widget.Toolbar> テーマに関連する2つの属性、themeとpopupThemeがあるのはなぜですか? それぞれの目的は何ですか?

10
XMLを使用してAndroid TextViewでカスタムフォントを使用する
カスタムフォントファイルをassets / fontsフォルダーに追加しました。XMLからどのように使用しますか? 次のようにコードから使用できます。 TextView text = (TextView) findViewById(R.id.textview03); Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/Molot.otf"); text.setTypeface(tf); android:typeface="/fonts/Molot.otf"属性を使用してXMLからそれを行うことはできませんか?

4
AndroidのJNIでSIGSEGV(セグメンテーション違反)をキャッチしてスタックトレースを取得するにはどうすればよいですか?
プロジェクトを新しいAndroid Native Development Kit(JNI)に移動します。SIGSEGVが発生した場合(おそらくSIGILL、SIGABRT、SIGFPEも)、代わりに、素敵なクラッシュレポートダイアログを表示したいのですが。 (または以前に)現在発生していること:プロセスの即時の異常な終了と、OSによるプロセスの再起動の試み。(編集: JVM / Dalvik VMはシグナルをキャッチし、スタックトレースやその他の有用な情報をログに記録します。その情報をメールで送信するオプションをユーザーに提供したいだけです。) 状況は次のとおりです。私が記述していない大量のCコードが、このアプリケーション(すべてのゲームロジック)でほとんどの作業を行います。他の多くのプラットフォームで十分にテストされていますが、Androidで移植すると、ガベージをフィードし、ネイティブコードでクラッシュを引き起こすので、現在Androidログに表示されるクラッシュダンプ(ネイティブとJavaの両方)が必要です(Android以外の状況ではstderrになると思います)。私は自由にCとJavaの両方のコードを変更できますが、コールバック(JNIに出入りするコールバックの両方)の数は約40で、明らかに小さな差分にはボーナスポイントがあります。 J2SEのシグナルチェーンライブラリであるlibjsig.soを聞いたことがあります。Androidにそのようなシグナルハンドラーを安全にインストールできれば、私の疑問の一部を解決できますが、Android / Dalvikにはそのようなライブラリはありません。

7
Android、他のアプリの起動を検出
ユーザーがパスワードなしで指定したアプリにアクセスできないようにするアプリを開発しようとしています。シナリオは... ユーザーが「メール」アプリをクリックする(例) アプリがアプリの起動を検出した 私のアプリはそれが「メール」アプリであることを確認します 私のアプリは、パスワードを要求する上部のビューを開きます ユーザーがパスワードを入力すると、正しい場合、アプリが消え、「メール」アプリが上部に残ります 残りの部分は大丈夫です。パート2だけが私を困惑させています。数日後にBroadcast Intentsなどを読んで、試用プロジェクトで「android.intent.action.MAIN」などをリッスンしようとしましたが、できません。自分以外のアプリが起動したことを検知しているようです。 誰か助けてもらえますか?私はそれを正しい方法で行っていますか?開始するインテントをブロードキャストする新しいアプリを探していますか、それともシステムログを読んで新しいインテントがあるか、またはネイティブコードで何かをしているのですか? あなたがそれを完全に答えることができない場合でも、私はいくつかのより多くの研究を行うことができるでしょう、どんなポインタも助けになります。どうもありがとう。イアン

18
Android、キャンバス:surfaceViewにあるキャンバス(=ビットマップ)をクリア(コンテンツを削除)するにはどうすればよいですか?
単純なゲームを作成するために、次のようなビットマップでキャンバスを描画するテンプレートを使用しました。 private void doDraw(Canvas canvas) { for (int i=0;i<8;i++) for (int j=0;j<9;j++) for (int k=0;k<7;k++) { canvas.drawBitmap(mBits[allBits[i][j][k]], i*50 -k*7, j*50 -k*7, null); } } (キャンバスは "run()"で定義されています/ SurfaceViewはGameThreadにあります。) 最初の質問は、新しいレイアウトでキャンバス全体をクリア(または再描画)する方法です。 次に、画面の一部のみを更新するにはどうすればよいですか? // This is the routine that calls "doDraw": public void run() { while (mRun) { Canvas c = null; try { …

11
水平のLinearLayoutに(垂直の)ディバイダーを追加する方法は?
水平線形レイアウトに仕切りを追加しようとしていますが、どこにも表示されません。仕切りは表示されません。私はAndroidの初心者です。 これは私のレイアウトXMLです。 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/llTopBar" android:orientation="horizontal" android:divider="#00ff00" android:dividerPadding="22dip" android:showDividers="middle" > <Button android:layout_width="wrap_content" android:layout_height="match_parent" android:text="asdf" /> <Button android:layout_width="wrap_content" android:layout_height="match_parent" android:text="asdf" /> </LinearLayout> </RelativeLayout>


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.