3

私は Kotlin 用の Anko で遊んでいて、それを使用して写真を撮り、結果の画像をテスト アプリケーションに表示しようとしていました。以下の Android トレーニング ドキュメントを出発点として使用しています。

http://developer.android.com/training/camera/photobasics.html

Anko を使用してこの機能を実装する最良の方法は何でしょうか?

startActivityForResult 関数を使用しようとしていますが、onActivityResult の結果で更新できるレイアウトに画像ビューを追加する方法を見つけることができません。

4

2 に答える 2

2

コードの一部を貼り付けます。Picasso を使用して、Url から画像を imageview にレンダリングします。これは、すべてを最適に処理するため、良い方法です。

import kotlinx.android.synthetic.main.activity_login.*

class LoginActivity : AppCompatActivity() {
    val imageReturned = 100

    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        //With when we select the request code we asked in the StartActivityForResult
        when(requestCode){
            //that will be imageReturned
            imageReturned -> Picasso.with(this@LoginActivity)
                .load(data?.getStringExtra("theUrl")).into(image_view)
            //now what we did here was use Picasso to load 
            //the URL in the StringExtra "theUrl" into image_view, 
            //image_view will be the synthetic bound of anko for it to 
            //work you have to `import kotlinx.android.synthetic.main.activity_login.*`
        }
    }
}

これは、XML からビューをバインドし、anko DSL を使用してそれを達成する場合は、findViewById(android.R.id.content) で contentView を取得し、id で Imageview を検索してから設定する必要があります。あそこでやったのと同じ。

それが役に立てば幸い

于 2016-03-21T16:21:30.867 に答える
0

以前に Java で Android 開発を行ったことがあれば、構文以外は Java とそれほど違いはありません。

チュートリアルで十分です。それに従い、Android Studio Kotlin Plugin を使用して Java ファイルを Kotlin に変換してみてください。Java コードを Kotlin に、またはその逆にマッピングする方法を自分で学び、理解します。

  1. まだインストールしていない場合は、Android Studio 用の Kotlin プラグインをインストールします
  2. Java ファイルを開く
  3. メニューをクリックHelp > Find Actionして検索アクションを開きます
  4. 「Java ファイルを Kotlin ファイルに変換」を検索します。

画像の設定に関する質問についてonActivityResult(あなたが言及したチュートリアルに関して)。Uridefined inを使用してindispatchTakePictureIntent()を設定できますImageView

于 2015-11-17T04:02:53.373 に答える