我可以知道如何在Android中调整CalendarView
的大小吗?
CalendarView
占据了屏幕的一半以上。
我希望它变得更小,可能是屏幕的40%。感谢。
智能手机中的默认CalendarView大小占据了一半以上
我目前的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="com.ada.landing.MainActivity">
<CalendarView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/calendarView"
android:firstDayOfWeek="2"/></RelativeLayout>
我尝试了另一种定义CalendarView
的方法,但总体高度降低了但不会按比例收缩:
<CalendarView
android:layout_width="500dp"
android:layout_height="200dp"
android:id="@+id/calendarView"
android:firstDayOfWeek="2" />
答案 0 :(得分:5)
我认为CalendarView不是(真的)可调整大小,因为Android会调整此视图的大小以允许用户使用此视图获得良好的体验。 我认为使用DatePickerDialog时的通信大小。 DatePickerDialog
CalendarView需要最小高度和宽度。
如果你真的想调整calendarView的大小,可以尝试用编程方式调整大小(或缩放):
float scalingFactor = 0.5f; // scale down to half the size
view.setScaleX(scalingFactor);
view.setScaleY(scalingFactor);
答案 1 :(得分:1)
您可以通过几种不同的方式缩小CalendarView的大小。一种是你可以手动调整你使用日历的.XML文件中视图的大小。另一种方法是创建一个新的布局(如线性布局),将布局调整到你想要的大小,以及将CalendarView放在该布局中。
答案 2 :(得分:1)
这里我把代码减少到40%宽度的压缩视图。这个。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="0.4"
android:orientation="horizontal"
android:weightSum="1">
<CalendarView
android:id="@+id/calendarView"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="0.4"
android:firstDayOfWeek="2" />
</LinearLayout>
</LinearLayout>
答案 3 :(得分:1)
您可以尝试这样:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="5"
android:orientation="vertical">
<LinearLayout android:layout_width="match_parent" android:layout_height="0dp"
android:layout_weight="2">
<CalendarView
android:id="@+id/calendarView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:firstDayOfWeek="2"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent" android:layout_height="0dp"
android:layout_weight="3"></LinearLayout>
</LinearLayout>
答案 4 :(得分:1)
希望这可能有助于缩小日历视图的大小。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<CalendarView
android:layout_width="200dp"
android:layout_height="200dp"
android:id="@+id/calendarView"
android:firstDayOfWeek="2"/>
</LinearLayout>
<LinearLayout
android:layout_weight="60"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:text="Hello World hello world "
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
现在有一个库可以让你将dp大小设置为sdp(可扩展的Dp),这样它可以帮助很多屏幕尺寸
Gradle for that
compile 'com.intuit.sdp:sdp-android:1.0.3'
代码示例与上面的示例相同,但它将支持所有可能的屏幕尺寸
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<CalendarView
android:layout_width="@dimen/_100sdp"
android:layout_height="@dimen/_100sdp"
android:id="@+id/calendarView"
android:firstDayOfWeek="2"/>
</LinearLayout>
<LinearLayout
android:layout_weight="60"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:text="Hello World hello world "
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
答案 5 :(得分:1)
如果你想调整大小
add_action( 'woocommerce_before_calculate_totals', 'add_custom_price', 10, 1);
function add_custom_price( $cart_object) {
global $woocommerce;
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
$coupon = False;
if ($coupons = WC()->cart->get_applied_coupons() == False )
$coupon = False;
else {
foreach ( WC()->cart->get_applied_coupons() as $code ) {
$coupons1 = new WC_Coupon( $code );
if ($coupons1->type == 'percent_product' || $coupons1->type == 'percent')
$coupon = True;
}
}
if ($coupon == True)
foreach ( $cart_object->get_cart() as $cart_item )
{
$price = $cart_item['data']->regular_price;
$cart_item['data']->set_price( $price );
}
}
答案 6 :(得分:0)
我已经尝试了所有答案,但没有尝试我究竟想要什么。然后我有用户Material Calender View。
因为我们可以根据我们的要求给出瓷砖宽度和瓷砖高度。如果我们希望矩形日历视图的高度与宽度相比要小得多,我们可以将瓷砖宽度设置为高于高度。谢谢所有回答的人。