android - 在方向更改时将 Android 视图(布局)移动到特定点(仅旋转一些视图而不是整个活动)
问题描述
Asslam o ALaikm(问候,最良好的祝愿)为你们所有人!
我无法嵌入图像,请检查应用程序(类似)
https://play.google.com/store/apps/details?id=com.jkfantasy.gpsmapcamera
我遇到了一些问题,需要您的帮助(谢谢/提前),我正在尝试开发一个显示位置和时间等的 android 相机应用程序检查图像**问题是在方向更改时包含地图和其他信息的视图应该如图所示移动到相关边的底部**
[在此处输入图像描述][2] 如果您也可以尝试,请提供帮助,创建一个新的单独布局(匹配父级,匹配父级)包含地图和其他布局卡片视图,但在旋转它时周围有黑色空间
我尝试并得到了什么!
我已经实现了更改侦听器和方向更改旋转卡视图并将边距设置到我正在测试的设备上的点,但在不同的设备上它出错了。XML代码是!
Java代码是!
@Override
public void onSimpleOrientationChanged(int orientation) {
int angle = 0;
if (orientation == 4) {
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams)cardView.getLayoutParams();
layoutParams.width = rlheight;
layoutParams.setMargins(-rlwidth/2-20, 0, 0, rlwidth/2+15);
cardView.setLayoutParams(layoutParams);
cardView.setRotation(90);
angle= 90;
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="fill_parent"
android:id="@+id/main"
android:layout_height="fill_parent">
<LinearLayout
android:id="@+id/idabovemanu"
android:layout_width="match_parent"
android:layout_height="@dimen/_35sdp"
android:background="@color/black"
android:orientation="horizontal"
android:gravity="center"
android:weightSum="5"
>
<LinearLayout
android:id="@+id/idabovelocation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
>
<androidx.cardview.widget.CardView
android:layout_width="@dimen/_25sdp"
android:layout_height="@dimen/_25sdp"
android:innerRadius="0dp"
android:shape="ring"
android:backgroundTint="@color/blue"
app:cardCornerRadius="@dimen/_12sdp">
<androidx.cardview.widget.CardView
android:layout_width="@dimen/_20sdp"
android:layout_height="@dimen/_20sdp"
android:innerRadius="0dp"
android:shape="ring"
android:layout_gravity="center"
android:backgroundTint="@color/white"
app:cardCornerRadius="@dimen/_10sdp"
>
<ImageView
android:layout_width="@dimen/_15sdp"
android:layout_height="@dimen/_15sdp"
android:layout_gravity="center"
android:background="@drawable/ic_location" />
</androidx.cardview.widget.CardView>
</androidx.cardview.widget.CardView>
</LinearLayout>
<LinearLayout
android:id="@+id/idabovesetting"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
>
<androidx.cardview.widget.CardView
android:layout_width="@dimen/_25sdp"
android:layout_height="@dimen/_25sdp"
android:innerRadius="0dp"
android:shape="ring"
android:backgroundTint="@color/blue"
app:cardCornerRadius="@dimen/_12sdp">
<androidx.cardview.widget.CardView
android:layout_width="@dimen/_20sdp"
android:layout_height="@dimen/_20sdp"
android:innerRadius="0dp"
android:shape="ring"
android:layout_gravity="center"
android:backgroundTint="@color/white"
app:cardCornerRadius="@dimen/_10sdp"
>
<ImageView
android:layout_width="@dimen/_15sdp"
android:layout_height="@dimen/_15sdp"
android:layout_gravity="center"
android:background="@drawable/ic_text" />
</androidx.cardview.widget.CardView>
</androidx.cardview.widget.CardView>
</LinearLayout>
<ImageView
android:layout_width="@dimen/_30sdp"
android:layout_height="@dimen/_30sdp"
android:layout_weight="1" />
<LinearLayout
android:id="@+id/idabovecamera"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
>
<androidx.cardview.widget.CardView
android:layout_width="@dimen/_25sdp"
android:layout_height="@dimen/_25sdp"
android:innerRadius="0dp"
android:shape="ring"
android:backgroundTint="@color/blue"
app:cardCornerRadius="@dimen/_12sdp">
<androidx.cardview.widget.CardView
android:layout_width="@dimen/_20sdp"
android:layout_height="@dimen/_20sdp"
android:innerRadius="0dp"
android:shape="ring"
android:layout_gravity="center"
android:backgroundTint="@color/white"
app:cardCornerRadius="@dimen/_10sdp"
>
<ImageView
android:layout_width="@dimen/_15sdp"
android:layout_height="@dimen/_15sdp"
android:layout_gravity="center"
android:background="@drawable/ic_flip_camera" />
</androidx.cardview.widget.CardView>
</androidx.cardview.widget.CardView>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:id="@+id/idabovelayers"
>
<androidx.cardview.widget.CardView
android:layout_width="@dimen/_25sdp"
android:layout_height="@dimen/_25sdp"
android:innerRadius="0dp"
android:shape="ring"
android:backgroundTint="@color/blue"
app:cardCornerRadius="@dimen/_12sdp">
<androidx.cardview.widget.CardView
android:layout_width="@dimen/_20sdp"
android:layout_height="@dimen/_20sdp"
android:innerRadius="0dp"
android:shape="ring"
android:layout_gravity="center"
android:backgroundTint="@color/white"
app:cardCornerRadius="@dimen/_10sdp"
>
<ImageView
android:layout_width="@dimen/_15sdp"
android:layout_height="@dimen/_15sdp"
android:layout_gravity="center"
android:background="@drawable/ic_layers" />
</androidx.cardview.widget.CardView>
</androidx.cardview.widget.CardView>
</LinearLayout>
</LinearLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:id="@+id/idrlayout"
>
<com.otaliastudios.cameraview.CameraView
android:id="@+id/idcam"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cameraPreview="glSurface"
>
<ImageView
android:id="@+id/idwater"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
app:layout_drawOnPreview="false"
android:contentDescription="watermark" />
</com.otaliastudios.cameraview.CameraView>
<androidx.cardview.widget.CardView
android:id="@+id/idcardview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/_3sdp"
android:layout_marginRight="@dimen/_3sdp"
android:layout_marginBottom="@dimen/_3sdp"
app:cardCornerRadius="@dimen/_5sdp"
android:layout_alignParentBottom="true"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal"
android:id="@+id/idlinear"
>
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="@dimen/_100sdp"
android:layout_height="@dimen/_100sdp"
/>
<LinearLayout
android:id="@+id/idlayoutdetails"
android:layout_width="0dp"
android:layout_height="@dimen/_100sdp"
android:layout_weight="1"
android:layout_marginLeft="@dimen/_1sdp"
android:background="@color/blacktrns"
android:orientation="vertical">
<TextView
android:id="@+id/idmainadress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="@dimen/_6ssp"
android:gravity="center"
android:textColor="@color/white"
android:text="@string/adress"
android:layout_marginTop="@dimen/_5sdp"
android:singleLine="true"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="@dimen/_300sdp"
android:id="@+id/imgview"
android:textColor="@color/white"
android:visibility="gone"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_10sdp"
android:orientation="horizontal"
android:weightSum="2"
>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:layout_weight="1">
<TextView
android:id="@+id/idtvcity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/_8ssp"
android:text="Sahiwal"
android:textColor="@color/white"
/>
<TextView
android:id="@+id/idtvprovince"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/_8ssp"
android:text="Province"
android:textColor="@color/white"
android:layout_marginTop="@dimen/_5sdp"
/>
<TextView
android:id="@+id/idtvcountry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/_8ssp"
android:text="Country"
android:textColor="@color/white"
android:layout_marginTop="@dimen/_5sdp"
/>
<TextView
android:id="@+id/date"
android:layout_width="match_parent"
android:layout_height="24dp"
android:layout_marginTop="@dimen/_10sdp"
android:gravity="center"
android:textColor="@color/white"
android:text="09-03-2021 (tue)"
android:textSize="@dimen/_8ssp" />
</LinearLayout>
<View
android:layout_width="@dimen/_1sdp"
android:layout_height="@dimen/_35sdp"
android:background="@color/white"
/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textSize="@dimen/_8ssp"
android:orientation="vertical"
android:gravity="center"
android:layout_weight="1">
<TextView
android:id="@+id/idtvname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/_8ssp"
android:drawableLeft="@drawable/name"
android:drawablePadding="@dimen/_10sdp"
android:textColor="@color/white"
android:text="Imtiaz Hospital Swl"
/>
<TextView
android:id="@+id/idtvemployecode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/_8ssp"
android:drawableLeft="@drawable/ic_coding"
android:drawablePadding="@dimen/_10sdp"
android:text="Imtiaz Hospital Swl"
android:textColor="@color/white"
android:layout_marginTop="@dimen/_5sdp"
/>
<TextView
android:id="@+id/idtvhospitalname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/_8ssp"
android:textColor="@color/white"
android:drawableLeft="@drawable/ic_hospital"
android:drawablePadding="@dimen/_10sdp"
android:text="Imtiaz Hospital Swl"
android:layout_marginTop="@dimen/_5sdp"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="24dp"
android:layout_marginTop="@dimen/_10sdp"
android:gravity="center"
android:text="09:15 am"
android:textColor="@color/white"
android:textSize="@dimen/_8ssp"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
</RelativeLayout>
<LinearLayout
android:id="@+id/idbottommanu"
android:layout_width="match_parent"
android:layout_height="@dimen/_50sdp"
android:background="@color/black"
android:orientation="horizontal"
android:gravity="center"
android:weightSum="5"
>
<LinearLayout
android:id="@+id/idpersonalinf"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
>
<androidx.cardview.widget.CardView
android:layout_width="@dimen/_30sdp"
android:layout_height="@dimen/_30sdp"
android:innerRadius="0dp"
android:shape="ring"
android:backgroundTint="@color/blue"
app:cardCornerRadius="@dimen/_15sdp">
<androidx.cardview.widget.CardView
android:layout_width="@dimen/_25sdp"
android:layout_height="@dimen/_25sdp"
android:innerRadius="0dp"
android:shape="ring"
android:layout_gravity="center"
android:backgroundTint="@color/white"
app:cardCornerRadius="@dimen/_12sdp"
>
<ImageView
android:layout_width="@dimen/_20sdp"
android:layout_height="@dimen/_20sdp"
android:layout_gravity="center"
android:background="@drawable/ic_personal" />
</androidx.cardview.widget.CardView>
</androidx.cardview.widget.CardView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Per_info"
android:textSize="@dimen/_9ssp"
android:textColor="@color/white"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/idgallery"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
>
<androidx.cardview.widget.CardView
android:layout_width="@dimen/_30sdp"
android:layout_height="@dimen/_30sdp"
android:innerRadius="0dp"
android:shape="ring"
android:backgroundTint="@color/blue"
app:cardCornerRadius="@dimen/_15sdp">
<androidx.cardview.widget.CardView
android:layout_width="@dimen/_25sdp"
android:layout_height="@dimen/_25sdp"
android:innerRadius="0dp"
android:shape="ring"
android:layout_gravity="center"
android:backgroundTint="@color/white"
app:cardCornerRadius="@dimen/_12sdp"
>
<ImageView
android:layout_width="13dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/ic_gallery" />
</androidx.cardview.widget.CardView>
</androidx.cardview.widget.CardView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Gallery"
android:textSize="@dimen/_8ssp"
android:textColor="@color/white"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/idcamera"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center">
<androidx.cardview.widget.CardView
android:layout_width="@dimen/_45sdp"
android:layout_height="@dimen/_45sdp"
android:innerRadius="0dp"
android:shape="ring"
app:cardCornerRadius="@dimen/_22sdp">
<ImageView
android:layout_width="@dimen/_35sdp"
android:layout_height="@dimen/_35sdp"
android:layout_gravity="center"
android:background="@drawable/ic_camera" />
</androidx.cardview.widget.CardView>
</LinearLayout>
<LinearLayout
android:id="@+id/idsetting"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
>
<androidx.cardview.widget.CardView
android:layout_width="@dimen/_30sdp"
android:layout_height="@dimen/_30sdp"
android:innerRadius="0dp"
android:shape="ring"
android:backgroundTint="@color/blue"
app:cardCornerRadius="@dimen/_15sdp">
<androidx.cardview.widget.CardView
android:layout_width="@dimen/_25sdp"
android:layout_height="@dimen/_25sdp"
android:innerRadius="0dp"
android:shape="ring"
android:layout_gravity="center"
android:backgroundTint="@color/white"
app:cardCornerRadius="@dimen/_12sdp"
>
<ImageView
android:layout_width="@dimen/_20sdp"
android:layout_height="@dimen/_20sdp"
android:layout_gravity="center"
android:background="@drawable/ic_setting" />
</androidx.cardview.widget.CardView>
</androidx.cardview.widget.CardView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="setting"
android:textColor="@color/white"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/idrateus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
>
<androidx.cardview.widget.CardView
android:layout_width="@dimen/_30sdp"
android:layout_height="@dimen/_30sdp"
android:innerRadius="0dp"
android:shape="ring"
android:backgroundTint="@color/blue"
app:cardCornerRadius="@dimen/_15sdp">
<androidx.cardview.widget.CardView
android:layout_width="@dimen/_25sdp"
android:layout_height="@dimen/_25sdp"
android:innerRadius="0dp"
android:shape="ring"
android:layout_gravity="center"
android:backgroundTint="@color/white"
app:cardCornerRadius="@dimen/_12sdp"
>
<ImageView
android:layout_width="@dimen/_20sdp"
android:layout_height="@dimen/_20sdp"
android:layout_gravity="center"
android:background="@drawable/ic_rate" />
</androidx.cardview.widget.CardView>
</androidx.cardview.widget.CardView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Rate us"
android:textColor="@color/white"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>```
[1]: https://i.stack.imgur.com/QONgL.jpg
解决方案
推荐阅读
- ios - 从 tableViewCell 访问存储的值并将它们保存到 firebaseDatabase
- python - Python:如何从大字典中存在的 2 个键生成 DataFrame
- ruby-on-rails - RoR:模型之间的关联
- android-studio - 无法在 Android Studio 上登录 GitHub
- sql - 如何在sql每个select语句中使用union排序
- c++ - C++/Raspberry Pi/Mosquitto API:尝试使用 Mosquitto 向 MQTT 代理发布字符串消息,但不断出现无法访问的内存错误
- django - DRF 序列化器,不同的字段类型
- ionic-framework - 为什么 ion-icon 没有在 ionic vue 项目中显示?
- reactjs - 从 react-jsonschema-form 获取更新的字段值
- c - C中整数的无符号和后缀