如何将 Android 默认相机应用程序设置为仅纵向

2023-12-22

在我的 Android 应用程序中,我正在使用Android default camera为此,我使用了下面的代码。捕获照片后,我已以全屏模式将该图像显示到另一个活动中。如果我捕获图像portrait模式 我可以将整个图像设置为全屏模式。它显示良好,显示图像后我可以执行我的操作。但是如果我从landscape拍摄的图像将在屏幕上拉伸。所以我想仅使用肖像模式而不是风景模式来拍摄照片。那么我如何才能锁定相机应用程序仅用于肖像。

String fileName = "Camera_Example.jpg";                
    ContentValues values = new ContentValues();                
    values.put(MediaStore.Images.Media.TITLE, fileName);                
    values.put(MediaStore.Images.Media.DESCRIPTION,"Image capture by camera");                
    imageUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);                       
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
    intent.putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION,ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);   
    startActivityForResult(intent,CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE); 

AndroidManifest.xml

 <activity
     android:name=".TestActivity"
     android:screenOrientation="portrait"
     android:configChanges="orientation"
     android:theme="@android:style/Theme.NoTitleBar" >
     </activity>

portrait captured photoenter image description here

portrait captured photo full screenenter image description here

landscape captured photoenter image description here

landscape captured photo full screenenter image description here


如何锁定相机应用程序仅用于肖像

你不知道。您没有编写相机应用程序,因为有数百甚至数千个相机应用程序。由相机应用程序和用户来处理方向。

Besides:

  • 在许多设备上,您在纵向模式下都会遇到同样的问题

  • 你的风景照片似乎也被拉伸了,尽管没有那么严重

但如果我从风景中拍摄一张照片,所拍摄的图像将在屏幕上拉伸

您有一个,也许还有两个问题:

  1. 你没有考虑到方向photo,因此您正在加载一张风景照片,就好像它是肖像照片一样。

  2. Your ImageView,或者它的父级,可能配置错误。如果你想保持照片的纵横比,and你想要那个ImageView来填充一些区域,然后ImageView需要具有相同的纵横比。

If you really只想以肖像模式拍照,您需要使用android.hardware.Camera除了解决我上面提到的问题之外,您自己,而不是启动第三方相机应用程序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 Android 默认相机应用程序设置为仅纵向 的相关文章

随机推荐

  • 如何通过 Laravel 迁移创建外键?

    我们怎样才能制作一个referenced key and foreign key in laravel by migrations 认为我在 laravel 的数据库目录中有两个迁移文件 它们都在我的数据库中创建了不同的表 第一次迁移创建一
  • Localizations.of 从 StatelessWidget 返回 null

    正如标题所说 如果小部件类扩展自StatelessWidget Localizations of
  • 收到奇怪的调试器消息:断言失败:(cls),函数 getName:这是什么?

    由于我从 Xcode 3 2 3 升级到 3 2 4 从 iOS 4 0 1 升级到 iOS 4 1 SDK 当我在代码中设置断点并单步执行指令时 在每一步中 调试器都会吐出一个或多个线 Assertion failed cls funct
  • document.getElementById 无法选择多个元素

    我正在努力加载 我有div loading这是可见的 还有更多div message哪些是隐藏的 我有js功能 function loading setTimeout function document getElementById loa
  • Keycloak 的 OAuth2 / OpenID Connect 端点是什么?

    我们正在尝试将 Keycloak 作为 SSO 解决方案进行评估 它在很多方面看起来都不错 但文档却严重缺乏基础知识 对于给定的 Keycloak 安装http localhost 8080 对于领域test 什么是OAuth2 授权端点
  • 图像未显示在 WordPress 主题中[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我是制作文字新闻主题的新手 我试图从 wordpress 主题文件夹中的图像文件夹中调用图像 但是当我刷新页面时 所有页面都消失了 没有任何
  • 资源解释为 Font 但以 MIME 类型 font/woff 传输: | Django框架

    我知道 Apache One 中添加了 RewriteEngine On RewriteRule ico gif png jpe g css js php eot svg ttf woff otf public index php noca
  • 更改 WCF 默认超时

    我这里有一个 WCF Duplex 服务 要求客户端的回调应该有 10 秒的超时时间 因此我的服务的 web config 文件如下所示
  • Postgres 和 Node 之间的加密/解密

    Problem 我们必须加密某个表 Postgres 上的某个列 它必须可以在 SQL 查询中解密and在我们的nodejs sequelize应用程序层中 加密可以发生在任一层 但必须可以从任一层进行解码 我遇到的问题 我确信这是用户错误
  • 如何将异步状态传递给子组件 props?

    我是 React 新手 我正在尝试从 API 获取数据并将数据传递给子组件 我已将数据传递给父组件上的状态 但是 当我将其作为 props 传递给子组件时 它会记录为空数组 我确信有一些简单的事情我忽略了 但我不知道是什么 我的代码如下 父
  • Font-awesome 无法与推送到 Heroku 的 yeoman 生成器一起使用

    我正在使用 Yeoman 生成器 Angular fullstack 使用新生成的 角度全栈 脚手架 我执行了bower install save components font awesome然后将一个很棒的字体图标添加到 main ht
  • std::list 的默认构造函数可以抛出异常吗?

    我 快速 研究了 C 标准和在线 C 参考 但我找不到这个简单问题的答案 可以的默认构造函数std list
  • redux-saga 中的 Promise

    我发现同样的问题here https stackoverflow com questions 41076600 how to achieve callbacks in redux saga 但没有我正在寻找的正确答案 我正在开发一个带有 C
  • 我可以以编程方式将壁纸设置为不滚动吗?

    我正在编写一个应用程序 允许用户从图片列表中设置手机壁纸 默认情况下 它会在多个主屏幕上滚动 我希望主屏幕上的壁纸是静态的非滚动图像 我可以通过编程做什么来实现这一目标 这可能吗 我在用wallpaperManager setResourc
  • “node”未被识别为内部或外部命令

    我一直在与node js v0 6 3 本地安装在视窗Vista at C Program Files Nodejs 我最近升级到 通过运行安装程序 v0 6 6 看起来它工作了一段时间 但现在如果我尝试运行node从任何目录我得到一个 n
  • 如何在给定时间后自动解锁 Oracle 中的表?

    我有一些代码连接到 Oracle 数据库 锁定表 对其执行一些操作并解锁它 我想知道 如果我的程序在表被锁定时冻结 锁会自动释放 有什么方法可以设置 Oracle 自动执行此操作吗 例如 我正在考虑这样的内容 如果用户 x 对表 y 保持锁
  • 从硬拷贝中删除打印按钮

    参考这个链接 http www w3schools com jsref met win print asp and this http www javascriptkit com howto newtech2 shtml 我使用 javas
  • java.lang.Class 方法线程安全吗?

    在 IBM JVM 下 当多个线程尝试同时对不同对象 但具有相同注释 调用 Class getAnnotation 时 我们遇到了一个问题 线程开始死锁等待 Hashtable 内的监视器 该 Hashtable 用作 IBM JVM 中注
  • GWT 和 XSRF 保护

    我正在寻找可能的解决方案来保护我的 GWT 应用程序免受 XSRF 的影响 如果我明白的话GWT的解决方案 http code google com webtoolkit doc latest DevGuideSecurityRpcXsrf
  • 如何将 Android 默认相机应用程序设置为仅纵向

    在我的 Android 应用程序中 我正在使用Android default camera为此 我使用了下面的代码 捕获照片后 我已以全屏模式将该图像显示到另一个活动中 如果我捕获图像portrait模式 我可以将整个图像设置为全屏模式 它